继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

php面向对象--多态

喵喵时光机
关注TA
已关注
手记 268
粉丝 9
获赞 108

先解释一下多态: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);//通过传入不同的对象的名称,执行不同的业务逻辑

 ?>


 

    如果你要问我这个东西有什么用呢,那我只能说可能在对代码的规范,以及理解上有一些帮助.其他的我也不清楚.因为实际工作的过程中我也没有碰到过应用多态的场景.


    希望博友有新的见解或者比较好的案例可以在评论中给出解释或者链接.

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP