黑马程序员技术交流社区

标题: 接口和多态的应用示例 [打印本页]

作者: kemeng    时间: 2015-3-12 10:40
标题: 接口和多态的应用示例
  1. /*多态的主板示例
  2. 电脑运行实例
  3. 电脑运行基于主板
  4. */


  5. interface PCI
  6. {
  7.         public void open();
  8.         public void close();
  9. }
  10. class MainBoard
  11. {
  12.         public void run()
  13.         {
  14.                 System.out.println("mainboard run");
  15.         }
  16.         public void usePCI(PCI p)
  17.         {
  18.                 if(p!=null)
  19.                 {
  20.                         p.open();       
  21.                         p.close();
  22.                 }
  23.         }
  24. }
  25. class NetCard implements PCI
  26. {
  27.         public void open()
  28.         {
  29.                 System.out.println("netcard open");
  30.         }
  31.         public void close()
  32.         {
  33.                 System.out.println("netcard close");
  34.         }
  35. }

  36. class SoundCard implements PCI
  37. {
  38.         public void open()
  39.         {
  40.                 System.out.println("SoundCard open");
  41.         }
  42.         public void close()
  43.         {
  44.                 System.out.println("SoundCard close");
  45.         }
  46. }

  47. /*
  48. class MainBoard
  49. {
  50.         public void run()
  51.         {
  52.                 System.out.println("mainboard run");
  53.         }
  54.         public void useNetCard(NetCard c)
  55.         {
  56.                 c.open();
  57.         }
  58. }
  59. class NetCard
  60. {
  61.         public void open()
  62.         {
  63.                 System.out.println("netcard open");
  64.         }
  65.         public void close()
  66.         {
  67.                 System.out.println("netcard close");
  68.         }
  69. }
  70. */
  71. class Demo6
  72. {
  73.         public static void main(String[] args)
  74.         {
  75.                 //System.out.println("Hello World!");
  76.                 MainBoard m=new MainBoard();
  77.                 //m.run();
  78.                 //m.useNetCard(new NetCard());
  79.                 m.usePCI(null);
  80.                 m.usePCI(new NetCard());
  81.                 m.usePCI(new SoundCard());

  82.         }
  83. }
复制代码





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