您的位置:首页 > 编程语言 > Java开发

Java编程思想之-主板设计

2015-05-29 10:07 507 查看
主板在设计的时候,会预留PCI插槽,用来连接网卡、声卡、鼠标、键盘等硬件,用来扩展主板的功能。
如下图:



package 面向对象;

public class MainBoardDemo {

/**
* @主板设计设计模式代码实现
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MainBoard mb = new MainBoard();		//创建主板实例
mb.run();		//启动主板
mb.usePCI(new NetWorkCard());	//连接网卡
mb.usePCI(new SoundCard());		//连接声卡
}

}

//主板类
class MainBoard
{
public void run()	//开启主板
{
System.out.println("mainboard run");
}
public void usePCI(PCI 	p)	//利用多态来扩展功能
{
if(p!=null)
{
if(p instanceof NetWorkCard)
{
NetWorkCard nwc = (NetWorkCard)p;
nwc.open();
nwc.close();
}else if(p instanceof SoundCard)
{
SoundCard sc = (SoundCard)p;
sc.open();
sc.close();
}
}
}
}

//PCI接口,对外暴露原则
interface PCI
{
public abstract void open();	//打开硬件
public abstract void close();	//关闭硬件
}

//网卡类
class NetWorkCard implements PCI
{
public void open(){
System.out.println("NetWorkCard run");
}
public void close(){
System.out.println("NetWorkCard close");
}
}

//声卡类
class SoundCard implements PCI
{
public void open()
{
System.out.println("SoundCard fun");
}
public void close()
{
System.out.println("SoundCard close");
}
}
程序运行结果如下图所示:



这个主板设计将多态、接口等知识点很自然的应用起来。所以继承、接口这些java的特性,也是java的精髓,需要仔细地去领会。

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
接口的好处实例体现2:不同的数据库操作
package 面向对象;

public class OperateJDBC {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
User user = new User();
DataDao dd = new D1();		//如果想改为另外一种数据库,直接将D1改成D2即可。
dd.add(user);
dd.delete(user);
}

}

interface DataDao	//不同的数据库都有添加与删除的功能,但是功能内容不一致,所以抽取为接口。
{
public void add(User user);
public void delete(User user);
}

class D1 implements DataDao	//数据库1
{
public void add(User user)
{
//具体实现代码
}
public void delete(User user)
{
//具体实现代码
}
}

class D2 implements DataDao	//数据库2
{
public void add(User user)
{
//具体实现代码
}
public void delete(User user)
{
//具体实现代码
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息