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

      

  • 相关阅读:
    POJ 2823 Sliding Window & Luogu P1886 滑动窗口
    Luogu P2970 [USACO09DEC]自私的放牧
    Luogu P2922 秘密消息
    Luogu P3353 在你窗外闪耀的星星
    Luogu P2580 于是他错误的点名开始了
    Floyd详解
    高精度模板
    51Nod P1100 斜率最大
    洛谷——P1025 数的划分
    洛谷——P1063 能量项链
  • 原文地址:https://www.cnblogs.com/dawuge/p/10153448.html
Copyright © 2011-2022 走看看