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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多态实例
  1. /**
  2. 需求:电脑运行主板
  3.                 主板上可添加声卡、网卡等一系列硬件
  4.                 硬件通过接口连接,接口定义了连接的规则
  5. */  

  6. /*接口中的成员都有固定修饰符
  7.                 常量:public static final
  8.                 方法:public abstract*/
  9. interface PCI                     
  10. {
  11.         public abstract void open();
  12.         public abstract void close();
  13. }

  14. /*主板*/
  15. class MainBoard
  16. {
  17.         public void run()
  18.         {
  19.                 System.out.println("主板运行");
  20.         }
  21. /*使用接口*/
  22.         public void usePCI(PCI p)
  23.         {
  24.                 if(null != p)  //判断
  25.                 {
  26.                         p.open();
  27.                         p.close();
  28.                 }
  29.                
  30.         }
  31. }

  32. /*增加网卡*/
  33. class NetCard implements PCI
  34. {
  35. //定义网卡的功能
  36.         public void open()    //需要覆盖接口中的抽象函数
  37.         {
  38.                 System.out.println("网卡打开");
  39.         }
  40.         public void close()                //需要覆盖接口中的抽象函数
  41.         {
  42.                 System.out.println("网卡关闭");
  43.         }
  44. }
  45. /*增加声卡*/
  46. class SoundCard implements PCI
  47. {
  48. //定义声卡的功能
  49.         public void open()        //需要覆盖接口中的抽象函数
  50.         {
  51.                 System.out.println("声卡打开");
  52.         }
  53.         public void close()                //需要覆盖接口中的抽象函数
  54.         {
  55.                 System.out.println("声卡关闭");
  56.         }
  57. }


  58. class DuoTaiDemo5
  59. {
  60.         public static void main(String[] args)
  61.         {
  62.                 System.out.println("Hello World!");
  63.                 MainBoard b = new MainBoard();
  64.                 b.run();
  65.                 b.usePCI(new SoundCard());
  66.                 b.usePCI(new NetCard());

  67.         }
  68. }
复制代码


0 个回复

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