zoukankan      html  css  js  c++  java
  • PHP面试:什么是类的多态性,请写出一个例子

    类的三大特性,封装、继承、多态,前两个比较简单,一般不会问到,多态则是考察最多的,一般出现在笔试中。

    描述

    多态性是指同一操作作用于不同的类的实例上可执行不同的逻辑。

    多态是指 执行不同的逻辑 ,很多资料上介绍这里时总是说
    “同一操作作用于不同的类的实例上时,会获得不同的结果。”,当年看到时就很困惑,一个函数给不同参数的时候它的结果也是不同的,这不是理所当然的嘛,其他它根本不在乎结果是否相同,而是强调执行不同的逻辑,即走到不同的方法体内。


    示例

    interface animal{
       function can();
    }
    class cat implements animal{
        function can(){
            echo "I can climb";
        }
    }
    class dog implements animal{
        function can(){
            echo "I can swim";
        }
    }
    function work($obj){
      if($obj instanceof animal){
        $obj->can();
      }else{
        echo 'no can';
      }
    }
    work(new cat());
    work(new dog());
    

    运行work时会根据传入参数的不同,选择执行不同的can方法。

    上边的父类是接口,对于接口与普通类同样适用。


  • 相关阅读:
    tp文件上传
    tp5与页面链接
    tp5语法查询
    tp5基本增删改查
    tp5基本登录
    数据修改
    文件上传。判断。一维二维数组
    数据库连接
    php针对于数据库的改变
    php数据库连接
  • 原文地址:https://www.cnblogs.com/jiaoran/p/12551133.html
Copyright © 2011-2022 走看看