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!

更新於: 2020 年 1 月 2 日

11K+ 瀏覽

開啟你的 職業生涯

透過完成課程取得認證

開始學習
廣告