多态实例- /**
- 需求:电脑运行主板
- 主板上可添加声卡、网卡等一系列硬件
- 硬件通过接口连接,接口定义了连接的规则
- */
- /*接口中的成员都有固定修饰符
- 常量:public static final
- 方法:public abstract*/
- interface PCI
- {
- public abstract void open();
- public abstract void close();
- }
- /*主板*/
- class MainBoard
- {
- public void run()
- {
- System.out.println("主板运行");
- }
- /*使用接口*/
- public void usePCI(PCI p)
- {
- if(null != p) //判断
- {
- p.open();
- p.close();
- }
-
- }
- }
- /*增加网卡*/
- class NetCard implements PCI
- {
- //定义网卡的功能
- public void open() //需要覆盖接口中的抽象函数
- {
- System.out.println("网卡打开");
- }
- public void close() //需要覆盖接口中的抽象函数
- {
- System.out.println("网卡关闭");
- }
- }
- /*增加声卡*/
- class SoundCard implements PCI
- {
- //定义声卡的功能
- public void open() //需要覆盖接口中的抽象函数
- {
- System.out.println("声卡打开");
- }
- public void close() //需要覆盖接口中的抽象函数
- {
- System.out.println("声卡关闭");
- }
- }
- class DuoTaiDemo5
- {
- public static void main(String[] args)
- {
- System.out.println("Hello World!");
- MainBoard b = new MainBoard();
- b.run();
- b.usePCI(new SoundCard());
- b.usePCI(new NetCard());
- }
- }
复制代码
|
|