PHP 中的函数重载和覆盖

phpserver side programmingprogramming更新于 2025/5/5 18:52:17

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!

相关文章