函數多載
电脑编程 / 維基百科,自由的 encyclopedia
函數多載(英語:function overloading)或方法多載,是某些程式語言(如 C++、C#、Java、Swift、Kotlin 等)的特性,允許建立多個具有不同實現的同名函數。對多載函數的呼叫會執行其適用於呼叫上下文的具體實現,即允許一個函數呼叫根據上下文執行不同的任務。
此條目需要擴充。 (2012年7月2日) |
例如,doTask()
和 doTask(object o)
是多載函數。呼叫後者必須傳入一個 object
參數,而呼叫前者時則不需要參數。一個常見的錯誤是在第二個函數中為 object
分配一個預設值,這將會導致意義模糊的呼叫錯誤,因為編譯器不知道使用這兩種方法中的哪一種。
另一個例子是 Print(object o)
函數,它根據是列印文字還是相片來執行不同的操作。這兩個不同的功能可以多載為 Print(text_object T); Print(image_object P)
。如果我們為程式中將要「列印」的所有對象編寫多載的列印函數,就不必擔心 object
的類型,再次呼叫相應的函數,呼叫始終是:Print(something)
。