1. 云栖社区>
  2. PHP教程>
  3. 正文

php面向对象--多态

作者:用户 来源:互联网 时间:2017-12-01 13:38:56

对象

php面向对象--多态 - 摘要: 本文讲的是php面向对象--多态,先解释一下多态:php面向对象的多态就是指通过一个抽象类或者接口定义出子类所实现的方法,之后在一个函数或者类的方法中传入之前定义的每个子类实例化后的对象名,通过调用新的类中同一个的方法(由于参数不同)实现不同对象不同的执行逻辑.(自己的理解

先解释一下多态:php面向对象的多态就是指通过一个抽象类或者接口定义出子类所实现的方法,之后在一个函数或者类的方法中传入之前定义的每个子类实例化后的对象名,通过调用新的类中同一个的方法(由于参数不同)实现不同对象不同的执行逻辑.(自己的理解,非官方).    下面在一个例子:    <?php     //定义父类接口interface Person{function getName();function getAge();}     //第一个子类class Phper implements Person{public function getName(){echo 'this is php/'getName';}public function getAge(){echo 'this is php/'getAge';}}    //第二个子类class Javaer implements Person{public function getName(){echo 'this is jave/'getName';}public function getAge(){echo 'this is java/'getAge';}}     //一个全新的类class my{function isMy($obj)//这里的参数是个对象名称{$obj->getName();echo "<br>";$obj->getAge();}}    //分别实例化之前的几个类$php  = new Phper;$java = new Javaer;$my   = new My; $my->isMy($java);//通过传入不同的对象的名称,执行不同的业务逻辑 ?>     如果你要问我这个东西有什么用呢,那我只能说可能在对代码的规范,以及理解上有一些帮助.其他的我也不清楚.因为实际工作的过程中我也没有碰到过应用多态的场景.     希望博友有新的见解或者比较好的案例可以在评论中给出解释或者链接. 

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索对象 ,以便于您获取更多的相关知识。