yunvn 发表于 2018-12-15 15:21:53

PHP 对象 多态性

/*
* 多态特性
* 1.程序扩展准备
* 必须有继承关系,父类最好是接口或抽象类
*/
//定义接口
interface USB{
    const WIDTH= 12;
    const HEIGHT = 3;
    function load();
    function run();
    function stop();
}
//定义电脑类
class Computer{
    function useUSB(USB $usb){
      $usb->load();
      $usb->run();
      $usb->stop();
    }
}
//定义鼠标类 实现USB接口
class Mouse implements USB{
    function load(){
      echo '加载鼠标成功!';
    }
    function run(){
      echo '运行鼠标功能!';
    }
    function stop(){
      echo '鼠标工作结束!';
    }
}
//定义键盘类 实现USB接口
class KeyBoard implements USB{
    function load(){
      echo '加载键盘成功!';
    }
    function run(){
      echo '运行键盘功能!';
    }
    function stop(){
      echo '键盘工作结束!';
    }
}
//定义工作者类
class Worker{
    function useC(){
      $c = new Computer();
      $m = new Mouse();
      $k= new KeyBoard();
      //调用电脑类中的方法 传入鼠标对象参数
      $c->useUSB($m);
      //调用电脑类中的方法 传入键盘对象参数
      $c->useUSB($k);
    }
}
$w = new Worker();
$w->useC();  




页: [1]
查看完整版本: PHP 对象 多态性