Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

Function Overloading และ Overriding ใน PHP


Function Overloading ใน PHP

Function overloading เป็นฟีเจอร์ที่อนุญาตให้สร้างหลาย method ชื่อเดียวกัน แต่ทำงานต่างกันตามชนิดของ input parameters ที่รับเป็น arguments

ตัวอย่าง

มาดูตัวอย่างการ implement function overloading −

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

Function Overriding ใน PHP

ใน function overriding parent และ child classes มี function ชื่อเดียวกันพร้อมจำนวน arguments เท่ากัน

ตัวอย่าง

มาดูตัวอย่างการ implement function overriding −

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

ผลลัพธ์

จะผลลัพธ์ดังนี้ −

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