php面向对象之多态

<?php
header("Content-Type: text/html; charset=UTF-8");
        interface Pci
        {
            function  start();
            function  stop();
        }
        class NetCard implements Pci
        {
            function start()
            {
                echo "网络可以使用<br/>";
            }
            function stop()
            {
                echo "网络连接断开,不可使用<br/>";
            }
        }
        class SoundCard implements Pci
        {
            function start()
            {
                echo "声卡可以使用  嘟嘟嘟<br/>";
            }
            function stop()
            {
                echo "声卡连接断开,不可使用。。。。<br/>";
            }
        }
        class ViewCard implements Pci
        {
            function start()
            {
                echo "显卡可以使用  哗啦哗啦<br/>";
            }
            function stop()
            {
                echo "显卡连接断开,。。。。<br/>";
            }
        }
        class MainBeard
        {
            function usePci($pci)
            {
                $pci->start();
                $pci->stop();
            }
        }
        class Person
        {
            function install()
            {
                $mb = new MainBeard();
                $nc =  new NetCard();//生成网卡的类
                $sc = new SoundCard();//生成声卡的类
                $vc = new ViewCard();//生成显卡的类
                $mb->usePci($nc);
                $mb->usePci($sc);
                $mb->usePci($vc);
            }
        }
class Person2
{
    function install2()
    {
       //直接把变量赋给接口对象
        //多态:把不同的对象赋给同一个引用,调用同一个引用执行不同功能
        //要有父类(一般为抽象类或者接口)和子类,子类都实现父类的抽象方法,保证不同对象中有同样的方法
        $nc =  new NetCard();//生成网卡的类
        $sc = new SoundCard();//生成声卡的类
        $vc = new ViewCard();//生成显卡的类
        $pc = $vc;   //网卡的调用
        //$pc = $sc; //可切换到这个变量上,就变成声卡的调用了
        $pc->start();
        $pc->stop();
    }
}

///
        $p = new Person();
        $p ->install();
///
        $p2 = new Person2();
        $p2 ->install2();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值