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

php面向对象--多态

Jun 13, 2016 am 08:50 AM
phpone timePolymorphismdefinitionobjectabstractinterfaceofkindexplainpassFor

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

 ?>

 

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

 

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

 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.