php接口的多态实现

现实生活的例子:

让我们看现实中的一个例子。我们的电脑有USB接口,你可以选择在这个USB接口上插入一个鼠标,键盘,或者是手机,硬盘都可以,电脑就会进行不同的操作。我们在Pet这个类中定义了一个eat抽象方法,然后在它的子类Cat和Dog类里面分别对它们进行实现。猫和狗虽然都吃东西,但是它们吃东西的细节是不一样的,比如猫是喵喵的吃,而狗是汪汪的吃。这对继承中抽象方法的实现就是类的多态的体现。

interface USB{
public function run(); //提供一个公有的USB接口
}
class Mouse implements USB{  //对USB接口的实现
public function run(){  //鼠标的运行方式
echo '鼠标可以使用...<br/>';
}
}
class Micro implements USB{
public function run(){ //麦克风的运行方式
echo '麦克风可以使用...<br/>';
}
}
class Computer{
public function useUSB($usbObj){  //传入某一个类的对象,实现多态调用,不同类别的对象调用不同的方法。
$usbObj->run();
}
}
$computer1=new Computer;
$computer1->useUSB(new Mouse);  //传入一个mouse对象,调用mouse类的run方法
$computer1->useUSB(new Micro);   //传入一个Micro对象,调用Micro类的run方法

文章来源:http://www.maiziedu.com/wiki/php/diverse/

    原文作者:独酌山外小阁楼
    原文地址: https://blog.csdn.net/kunlcw/article/details/89453895
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞