多載函式(overloading function)是指在同一個類別中,可以定義具有相同函式名稱但參數列表(參數的數量、類型或順序)不同的多個函式。這樣的函式在編譯時期根據傳入的參數的數量或類型進行選擇,以確定要呼叫的具體函式。
多載函式的目的是為了提供一個便於使用且直觀的介面,使得函式能夠以不同的方式處理不同的參數組合。這樣可以減少程式設計師的負擔,讓程式碼更容易理解和維護。
以下一個Python的例子:
class Calculator:
def add(self, x, y):
return x + y
def add(self, x, y, z):
return x + y + z
calculator = Calculator( )
result1 = calculator.add(2, 3)
print(result1) # 輸出: 5
result2 = calculator.add(2, 3, 4)
print(result2) # 輸出: 9
在例子中,Calculator類別中定義了兩個名稱相同但參數列表不同的add函式。
第一個add函式接受兩個參數,而第二個add函式接受三個參數。
當我們呼叫add函式時,編譯器會根據傳入的參數數量和類型來判斷要呼叫哪個add函式。
如果傳入兩個參數,則呼叫第一個add函式;如果傳入三個參數,則呼叫第二個add函式。
多載(overloading)是多型的其中一種類型,是指在同名函數中,透過不同資料型態的呼叫,而執行不同的函數,以取得不同的結果;例如int add(int a,int b)及float add(float a,float b),若主程式中分別有add(3,5)及add(6.5,3.5),前者因為傳入的數值為整數,因此在程式編譯階段會執行資料型態為整數的int add(int a,int b),後者因位傳入的數值為浮點數,因此在程式編譯階段會執行資料型態為浮點數的float add(float a,float b)。