读书人

多态运用实例

发布时间: 2012-11-09 10:18:48 作者: rapoo

多态应用实例

/*主板,主板可以插入网卡。直接描述主板以及网卡,并在主板中使用该网卡,这样的设计虽然当然可以应用,但缺少扩展性。比如又来一个声卡该如何呢?难道要修改主板不成?找这些事物的共性。主板是为了扩展自己的功能,而是提高后期的可维护性。先对这些板卡的共性进行抽取。定义一个规则,这个规则出现的就可以降低主板和板卡直接的耦合性。在描述主板的时候,可以预先使用该规则。无论后期出现什么样的出现什么样的板卡,只要该板卡符合了这个规则,主板就可以使用这个板卡。*/interface PCI{void open();void close();}class MainBoard{void usePCI(PCI p){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  MainBoardDemo{public static void main(String[] args) {MainBoard mb = new MainBoard();//mb.usePCI(new NetCard());mb.usePCI(new SoundCard());}}
?

读书人网 >编程

热点推荐