继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

PHP 对象 多态性

Cats萌萌
关注TA
已关注
手记 275
粉丝 50
获赞 304

/*

 * 多态特性

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


打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP