Maison >php教程 >php手册 >php面向对象--多态

php面向对象--多态

WBOY
WBOYoriginal
2016-06-13 08:50:541156parcourir

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 "
";

$obj->getAge();

}

}

    //分别实例化之前的几个类

$php  = new Phper;

$java = new Javaer;

$my   = new My;

 

$my->isMy($java);//通过传入不同的对象的名称,执行不同的业务逻辑

 ?>

 

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

 

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

 

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn