疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

模拟java面向接口编程实例


 

  通过生活中例子模拟java面向接口编程实例

  包括如下接口和类:

  举例,比如一台电脑,主板上的PCI插槽就可以理解为现实中的接口

  你可你把声卡,显卡,网卡都插在PCI插槽上,而不用担心那个插槽是专门插哪个的

  原因是做主板的厂家和做各种卡的厂家都遵守了统一的规定 包括尺寸,排线等等

  但是各种卡的内部实现结构是不一样的。

  下面具体模拟:

  通过生活中例子模拟java面向接口编程实例

  package com.test;

  /**

  * 定义PCI接口,定义主板PCI插槽规范

  * @author yanerkang

  *

  */

  public interface PCI {

  void start();

  void stop();

  }

  package com.test;

  /**

  * 网卡实现PCI接口规范

  * @author yanerkang

  *

  */

  public class NetworkCard implements PCI {

  public void start() {

  System.out.println("Send…");

  }

  public void stop() {

  System.out.println("Network stop!");

  }

  }

  package com.test;

  /**

  * 显卡实现PCI接口规范

  * @author yanerkang

  *

  */

  public class GraphicCard implements PCI{

  public void start() {

  System.out.println("Display Graphic…");

  }

  public void stop() {

  System.out.println("Display Graphic stop!");

  }

  }

  package com.test;

  /**

  * 声卡实现PCI接口规范

  * @author yanerkang

  *

  */

  public class SoundCard implements PCI {

  public void start() {

  System.out.println("Du du…");

  }

  public void stop() {

  System.out.println("Sound stop!");

  }

  }

  package com.test;

  /**

  * 主板类

  * @author yanerkang

  *

  */

  public class MainBoard {

  /**

  * 通过这个方法,主板上可以插入任何实现PCI接口规范的卡

  *

  * @param pci 参数类型为接口,任何实现接口的类都可以传进来。

  */

  public void usePCICard(PCI pci) {

  pci.start();

  pci.stop();

  }

  }

  package com.test;

  public class Assembler {

  /**

  * @param args

  */

  public static void main(String[] args) {

  MainBoard mb=new MainBoard();

  //在主板上插入网卡

  PCI nc=new NetworkCard();

  mb.usePCICard(nc);

  //在主板上插入声卡

  PCI sc=new SoundCard();

  mb.usePCICard(sc);

  //在主板上插入显卡

  PCI gc=new GraphicCard();

  mb.usePCICard(gc);

  }

  }

  输出:

  Send…

  Network stop!

  Du du…

  Sound stop!

  Display Graphic…

  Display Graphic stop!