手记

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


2人推荐
随时随地看视频
慕课网APP