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

PHP多态示例

慕数据0255506
关注TA
已关注
手记 18
粉丝 4
获赞 28

//接口版的多态实例
//PCI接口
interface PCI{
    public function start();
    public function stop();
}

//主板类
class MainBoard{
    public function running(PCI $pci){
        $pci->start();
        $pci->stop();
    }
}


//声卡
class SoundCard implements PCI{
    public function start(){
        echo "声卡启动...<br/>";
    }
    public function stop(){
        echo "声卡停止...<br/>";
    }
}

//网卡
class NetworkCard implements PCI{
    public function start(){
        echo "网卡启动...<br/>";
    }
    public function stop(){
        echo "网卡停止...<br/>";
    }
}


//系统
$mb = new MainBoard();
$sc = new SoundCard();
$nc = new NetworkCard();

$mb->running($sc);
$mb->running($nc);

//抽象类版的多态实例
//PCI抽象类
// abstract class PCI{
//     public abstract function start();
//     public abstract function stop();
// }

// //主板类
// class MainBoard{
//     public function running(PCI $pci){
//         $pci->start();
//         $pci->stop();
//     }
// }


// //声卡
// class SoundCard extends PCI{
//     public function start(){
//         echo "声卡启动...<br/>";
//     }
//     public function stop(){
//         echo "声卡停止...<br/>";
//     }
// }

// //网卡
// class NetworkCard extends PCI{
//     public function start(){
//         echo "网卡启动...<br/>";
//     }
//     public function stop(){
//         echo "网卡停止...<br/>";
//     }
// }


// //系统
// $mb = new MainBoard();
// $sc = new SoundCard();
// $nc = new NetworkCard();

// $mb->running($sc);
// $mb->running($nc);

// //普通类版的多态实例
// //PCI类
// class PCI{
//     public function start(){}
//     public function stop(){}
// }

// //主板类
// class MainBoard{
//     public function running(PCI $pci){
//         $pci->start();
//         $pci->stop();
//     }
// }


// //声卡
// class SoundCard extends PCI{
//     public function start(){
//         echo "声卡启动...<br/>";
//     }
//     public function stop(){
//         echo "声卡停止...<br/>";
//     }
// }

// //网卡
// class NetworkCard extends PCI{
//     public function start(){
//         echo "网卡启动...<br/>";
//     }
//     public function stop(){
//         echo "网卡停止...<br/>";
//     }
// }


// //系统
// $mb = new MainBoard();
// $sc = new SoundCard();
// $nc = new NetworkCard();

// $mb->running($sc);
// $mb->running($nc);
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP