首页 > 代码库 > PHP 对象 多态性

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 ‘加载鼠标成功!<br/>‘;
    }
    function run(){
        echo ‘运行鼠标功能!<br/>‘;
    }
    function stop(){
        echo ‘鼠标工作结束!<br/>‘;
    }
}

//定义键盘类 实现USB接口
class KeyBoard implements USB{
    function load(){
        echo ‘加载键盘成功!<br/>‘;
    }
    function run(){
        echo ‘运行键盘功能!<br/>‘;
    }
    function stop(){
        echo ‘键盘工作结束!<br/>‘;
    }
}

//定义工作者类
class Worker{
    function useC(){
        $c = new Computer();
        $m = new Mouse();
        $k  = new KeyBoard();
        //调用电脑类中的方法 传入鼠标对象参数
        $c->useUSB($m);
        //调用电脑类中的方法 传入键盘对象参数
        $c->useUSB($k);
    }
}
$w = new Worker();
$w->useC();


本文出自 “津沙港湾” 博客,请务必保留此出处http://11410485.blog.51cto.com/11400485/1845171

PHP 对象 多态性