zoukankan      html  css  js  c++  java
  • php多态模拟

    在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()); // 条件三:父类引用指向子类对象
    

      

  • 相关阅读:
    [1] Tornado Todo Day0
    [0] Tornado Todo 开篇
    RNSS和RDSS
    国密随机数检测--2/15 块内频数检测
    国密随机数检测--1/15 单比特频数检测
    FPGA实用通信协议之IIC
    压缩感知(十)
    压缩感知(九)
    压缩感知(八)
    压缩感知(七)
  • 原文地址:https://www.cnblogs.com/dawuge/p/10153448.html
Copyright © 2011-2022 走看看