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();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章