php中支持函數重載和重寫,可創建靈活可重用的代碼。函數重載:允許創建同名函數,但參數不同,根據參數匹配情況調用最合適的函數。函數重寫:允許子類定義同名函數,覆蓋父類方法,子類方法調用時將覆蓋父類方法。
PHP 中的函數重載和重寫
PHP 支持函數重載和重寫,這兩種技術可用于創建靈活、可重用的代碼。
函數重載
函數重載允許在同一個作用域中創建具有相同名稱但參數不同的多個函數。在運行時,將調用具有最匹配參數集的函數。
function sum(int $a, int $b) { return $a + $b; } function sum(float $a, float $b) { return $a + $b; } // 調用重載的函數 echo sum(1, 2); // 輸出 3 echo sum(1.5, 2.5); // 輸出 4.0
登錄后復制
函數重寫
函數重寫允許在子類中定義與父類中同名函數的函數。當子類的方法被調用時,它將覆蓋父類的方法。
class ParentClass { public function sayHello() { echo "Hello from parent class"; } } class ChildClass extends ParentClass { public function sayHello() { echo "Hello from child class"; } } // 創建子類對象并調用其方法 $child = new ChildClass(); $child->sayHello(); // 輸出 "Hello from child class"
登錄后復制
實戰案例
在實際應用中,函數重載和重寫可以用于創建可擴展的框架、代碼復用和提高可讀性。例如,可以使用函數重載來處理不同類型的數據,或提供具有不同功能的函數變體。重寫允許子類修改父類中定義的行為,從而實現多態性和代碼的可維護性。