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

php面向对象--多态

WBOY
풀어 주다: 2016-06-13 08:50:54
원래의
1156명이 탐색했습니다.

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);//通过传入不同的对象的名称,执行不同的业务逻辑

 ?>

 

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

 

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

 

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿