PHP多态代码实例

 更新时间:2015年06月26日 10:56:28   投稿:junjie  
这篇文章主要介绍了PHP多态代码实例,本文用2个代码实例来演示PHP中的多态,需要的朋友可以参考下

多态定义:只关心一个接口或者基类,而不关心一个对象的具体类。(同一类型,不同结果)

这里两个例子:

第一个,我们发现,基类定义了标准,子类进行了自我规则的实现。这是多态的一个要求。同时,这是满足重写;实际上这是不同类的不同表现;没有严格满足一个接口,或者基类编程。因为你调用的时候不是 stu->showGrade() 而是各自自己的方法;

class stu{

  public function showGrade(){
    echo "base class";  
  }

}


class xiaomin extends stu{

  public function showGrade(){
    echo "is son show 80";  
  } 
}

class xiaoli extends stu{

  public function showGrade(){
    echo "is son show 60";  
  } 
}

function doit($obj){

  if(get_class($obj) != "stu"){
    $obj->showGrade();
  }

}

doit(new xiaoli());
doit(new xiaomin());

第二个例子:dovoice 参数规定了$obj 为animal,意识就是用接口 接受了 实现类对象。了向上转型。这就符合同一类型,不同结果了,这就是多态;

实际上在Java中 会是 animal a = new dog();这样子的;因为PHP 是若类型语言。没有对象转型机制。

interface animal{
  public function voice();
}

class cat implements animal{
  public function voice(){
    echo "miao~~~<br>";
  }
}

class dog implements animal{
  public function voice(){
    echo "wang ~~~<br>";
  }
}

function dovoice(animal $obj){
  $obj->voice();
}


dovoice(new dog());
dovoice(new cat());

相关文章

  • Laravel 5框架学习之表单

    Laravel 5框架学习之表单

    Laravel 5.0 新引入的表单请求 (Form Request) 特性提供了集规范性 (差不多就是 "最佳实践" 的意思) 和便捷性 (这是比之前任何一种选择都更强大也更便捷的方式) 于一体的, 在 Laravel 中执行数据检查和验证的新手段.
    2015-04-04
  • laravel-admin的多级联动方法

    laravel-admin的多级联动方法

    今天小编就为大家分享一篇laravel-admin的多级联动方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • ThinkPHP整合百度Ueditor图文教程

    ThinkPHP整合百度Ueditor图文教程

    这篇文章主要介绍了ThinkPHP整合百度Ueditor的方法,图文并茂,非常的详细,希望对大家能有所帮助
    2014-10-10
  • ThinkPHP CURD方法之order方法详解

    ThinkPHP CURD方法之order方法详解

    ThinkPHP CURD方法的order用于对操作的结果排序。这篇文章主要介绍了order方法的用法,需要的朋友可以参考下
    2014-06-06
  • 利用phpexcel把excel导入数据库和数据库导出excel实现

    利用phpexcel把excel导入数据库和数据库导出excel实现

    本文介绍利用phpexcel对数据库数据导入excel(excel筛选)、导出excel,大家参考使用吧
    2014-01-01
  • 如何在PHP中生成随机数

    如何在PHP中生成随机数

    这篇文章主要介绍了如何在PHP中生成随机数,文中代码非常详细,对大家的学习有很大帮助,感兴趣的朋友可以参考下
    2020-06-06
  • Twig模板引擎用法入门教程

    Twig模板引擎用法入门教程

    这篇文章主要介绍了Twig模板引擎用法,分析了Twig模板引擎的基本功能、安装与简单使用方法,需要的朋友可以参考下
    2016-01-01
  • php实现分页工具类分享

    php实现分页工具类分享

    本文分享一个php实现的分页工具类,代码内有注释,大家参考使用吧
    2014-01-01
  • PHP基本语法总结

    PHP基本语法总结

    这篇文章主要介绍了PHP基本语法总结,本文从PHP能做什么开始讲解,对PHP的语法、注释、变量、常量等内容做了总结,需要的朋友可以参考下
    2014-09-09
  • CI框架的安全性分析

    CI框架的安全性分析

    这篇文章主要介绍了CI框架的安全性,结合实例形式分析了CI框架字符过滤的相关技巧,需要的朋友可以参考下
    2016-05-05

最新评论