zoukankan      html  css  js  c++  java
  • 面向对象之php多态

    php是面向对象的脚本语言,而我们都知道,面向对象的语言具有三大特性:封装,继承,多态(接口的多种不同的实现方式即为多态)。

    封装是类的构建过程,php具有。php也具有继承的特性。唯独这个多态,php体现的十分模糊。原因是php是弱类型语言。php声明变量不需要给变量设定类型,一个变量可以指向不同的数据类型。所以,php不具有像java一样的多态。php不具有像java那种清晰的多态,不是代表php不具有多态性。看下面一个例子:

    abstract class animal{
    abstract function fun();
    }
    class cat extends animal{
    function fun(){
    echo "cat say miaomiao...";
    }
    }
    class dog extends animal{
    function fun(){
    echo "dog say wangwang...";
    }
    }
    function work($obj){
    if($obj instanceof animal){
    $obj -> fun();
    }else{
    echo "no function";
    }
    }
    work(new dog());
    work(new cat());

  • 相关阅读:
    2019.9.25 初级数据结构——树状数组
    2019.9.29 陪审团
    2019.9.27 硬币
    0070-星星阵
    0069-简单的回文数问题
    0068-简单的求和问题
    0067-水仙花数
    0066-若干个数求和问题
    0065-数方块
    0064-简单的平方和
  • 原文地址:https://www.cnblogs.com/web21/p/6604099.html
Copyright © 2011-2022 走看看