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 "
";
$obj->getAge();
}
}
//分别实例化之前的几个类
$php = new Phper;
$java = new Javaer;
$my = new My;
$my->isMy($java);//通过传入不同的对象的名称,执行不同的业务逻辑
?>
如果你要问我这个东西有什么用呢,那我只能说可能在对代码的规范,以及理解上有一些帮助.其他的我也不清楚.因为实际工作的过程中我也没有碰到过应用多态的场景.
希望博友有新的见解或者比较好的案例可以在评论中给出解释或者链接.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 English version
Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.