在PHP中,多态是最常用到的一种特性。所谓多态,是指同一个东西不同形态的展示。在PHP中,我们这样定义多态,一个类被多个子类继承,如果这个类的某个方法在多个子类中表现不同的功能,那么这种行为我们就称其为多态的实现。
 
  多态的实现必须要满足三个条件:一是子类继承父类,二是子类重写父类的方法,三是父类引用指向子类对象。
 
  多态的实现K用一个小小的demo来给大家进行演示,demo如下:
        
        
abstract class Person
{
     abstract function say();
 }
    
 class Chinese extends Person 
{       // 条件一:子类继承父类
        function say() { // 条件二:子类重写父类方法
            echo "我说中文!<br>";
        }
  }

class English extends Person
{       //条件一:子类继承父类
        function say() { // 条件二:子类重写父类方法
            echo "I speak English!<br>";            
        }
 }
    
// Person $c = new Chinese(); // 父类引用指向子类对象,PHP中此形式行不通
// Person $e = new English();
    
function func(Person $p) { //PHP中的类型约束只存在与函数的形参
        $p -> say();
 }
func(new Chinese()); // 条件三:父类引用指向子类对象
func(new English()); // 条件三:父类引用指向子类对象

  

相关文章:

  • 2021-10-16
  • 2021-09-20
  • 2022-12-23
  • 2022-02-20
  • 2021-06-10
  • 2022-12-23
猜你喜欢
  • 2021-11-10
  • 2021-05-20
  • 2022-01-18
  • 2022-12-23
  • 2021-09-20
  • 2021-07-12
  • 2022-02-10
相关资源
相似解决方案