PHP 函式過載和重寫
PHP 函式過載
函式過載是一種允許使用相同名稱建立多個方法的功能,這些方法使用作為引數接受的輸入引數的型別而相互區別。
示例
讓我們看一個實現函式過載的示例−
<?php class Shape { const PI = 3.142 ; function __call($name,$arg){ if($name == 'area') switch(count($arg)){ case 0 : return 0 ; case 1 : return self::PI * $arg[0] ; case 2 : return $arg[0] * $arg[1]; } } } $circle = new Shape(); echo $circle->area(3); $rect = new Shape(); echo $rect->area(8,6); ?>
輸出
這將產生以下輸出−
9.42648
PHP 函式重寫
在函式重寫中,父類和子類具有具有相同數目的引數的相同函式名
示例
讓我們看一個實現函式重寫的示例−
<?php class Base { function display() { echo "
Base class function declared final!"; } function demo() { echo "
Base class function!"; } } class Derived extends Base { function demo() { echo "
Derived class function!"; } } $ob = new Base; $ob->demo(); $ob->display(); $ob2 = new Derived; $ob2->demo(); $ob2->display(); ?>
輸出
這將產生以下輸出−
Base class function! Base class function declared final! Derived class function! Base class function declared final!
廣告