A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 信仰年轻 中级黑马   /  2015-9-18 11:04  /  171 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package 主要内容;
/**
* 需求:
*电脑的运行实例。
*电脑的运行由主板控制,假设主板只是提供电脑运行,但是没有上网,听歌等功能。
*而上网、听歌需要硬件的支持。而现在主板上没有网卡和声卡,这时可以定义一个规则,叫PCI,只要符合这个规则的网卡和声卡都可以在主板上使用,
*这样就降低了主板和网卡、声卡之间的耦合性。
*用程序体现。
*/
interface Pci// 接口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 NetCard();//接口型引用指向自己的子类对象
        {
                if(p!=null)
                        p.open();
                        p.close();
        }       
}
class NetCard implements Pci//网卡实现接口  
{
        public void open()
        {
                System.out.println("net open");
        }
        public void close()
        {
                System.out.println("net close");
        }
}
class SoundCard implements Pci//声卡实现接口  
{
        public void open()
        {
                System.out.println("sound open");
        }
        public void close()
        {
                System.out.println("sound close");
        }
}
public class 多态的主板示例
{
        public static void main(String[] args)
        {               
                MainBoard mb=new MainBoard(); //电脑运行  
                mb.run();
                mb.usepci(new NetCard());//电脑上网  
                mb.usepci(new SoundCard());//电脑听歌  
                //mb.uesNetCard(new NetCard());
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马