方法重載與重寫
方法重載和重寫是物件導向程式設計中兩個不同的概念,它們有一個共同點:它們都涉及重新定義類別中的方法。但是,它們的目的和實現有很大不同。
方法重載
當一個類別宣告多個具有相同名稱但參數清單不同的方法時,就會發生方法重載。它使單一方法能夠根據提供的參數的類型和數量執行不同的任務。例如:
public void foo(int a) { ... } public void foo(int a, float b) { ... }
在此範例中,該類別定義了 foo 方法的兩個版本,它們所採用的參數數量不同。當呼叫 foo 方法時,編譯器會根據傳遞的參數決定要呼叫哪個版本。
方法重寫
方法重寫,另一方面,涉及重新定義子類別中具有相同參數清單的方法。與重載不同,當子類別想要提供從父類別繼承的方法的自己的實作時,就會發生重寫。為此,子類別必須使用 @Override 註解來指示它正在重寫現有方法:
class Parent { void foo(double d) { ... } } class Child extends Parent { @Override void foo(double d) { ... } }
在此範例中,子類別重寫從父類別繼承的 foo 方法。當 Child 類別的實例呼叫 foo 方法時,將執行 Child 類別中重寫的實作。
以上是方法重載和重寫有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!