黑马程序员技术交流社区

标题: 多态主板实例 [打印本页]

作者: MengYa    时间: 2015-8-31 23:12
标题: 多态主板实例
/*
需求:
电脑运行实例,
电脑运行基于主板
*/
interface PCI
{
        public void open();
        public void close();
}
class MainBoard
{
        public void run()
        {
                System.out.println("mainboard run");
        }
        public void usePCI(PCI p)//PCI p=new NetCaed//接口型引用指向自己的子类对象。
        {
                if(p!=null)
                {
                        p.open();
                        p.close();
                }
        }
}
class NetCard implements PCI
{
        public void open()
        {
                System.out.println("netcard open");
        }
        public void close()
        {
                System.out.println("netcard close");
        }
}
class SoundCard implements PCI
{
        public void open()
        {
                System.out.println("soundcard open");
        }
        public void close()
        {
                System.out.println("soundcard close");
        }
}
/*
class MainBoard
{
        public void run()
        {
                System.out.println("mainiboard run");
        }
        public void useNetCard(NetCard c)
        {
                c.open();
                c.close();
        }
}
class NetCard
{
        public void open()
        {
                System.out.println("netcard open");
        }
        public void close()
        {
                System.out.println("netcard close");
        }
}
*/
class DuoTaiDemo
{
        public static void main(String[] args)
        {
                MainBoard mb=new MainBoard();
                //mb.run();
                //mb.useNetCard(new NetCard());
                mb.run();
                mb.usePCI(null);       
                mb.usePCI(new NetCard());
                mb.usePCI(new SoundCard());
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2