Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Nạp chồng hàm (Overloading) và Ghi đè hàm (Overriding) trong PHP

Nạp chồng hàm (Function Overloading) trong PHP

Nạp chồng hàm là tính năng cho phép tạo nhiều phương thức với tên tương tự nhưng hoạt động khác nhau về loại tham số đầu vào nó chấp nhận làm đối số.

Ví dụ

Hãy xem ví dụ triển khai nạp chồng hàm:

<?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); 
?>

Kết quả

Điều này sẽ tạo ra kết quả sau:

9.42648

Ghi đè hàm (Function Overriding) trong PHP

Trong ghi đè hàm, lớp cha và lớp con có cùng tên hàm và số lượng đối số.

Ví dụ

Hãy xem ví dụ triển khai ghi đè hàm:

<?php 
    class Base { 
        function display() { 
            echo "\nBase class function declared final!"; 
        } 
        function demo() { 
            echo "\nBase class function!"; 
        } 
    } 
    class Derived extends Base { 
        function demo() { 
            echo "\nDerived class function!"; 
        } 
    } 
    $ob = new Base; 
    $ob->demo(); 
    $ob->display(); 
    $ob2 = new Derived; 
    $ob2->demo(); 
    $ob2->display(); 
?>

Kết quả

Điều này sẽ tạo ra kết quả sau:

Base class function! 
Base class function declared final! 
Derived class function! 
Base class function declared final!