通过生活中例子模拟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!

 

资源下载地址:http://download.csdn.net/detail/5iasp/6825325 (不需要积分)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值