125
技術社區[雲棲]
通過生活中例子模擬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!
資源下載地址:https://download.csdn.net/detail/5iasp/6825325 (不需要積分)
最後更新:2017-04-03 12:54:24