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

java 设计模式之一 适配器模式 adapter

2010-09-14 11:17 537 查看
生活中:

我们拿显卡适配器来举例吧,就是为了让我们的显示器发挥作用或者更好的发挥作用.是电脑核心与外设(显示器)之间的桥梁.



java中:



一.举例说明(用类简单点,接口大家自己想吧)



比如正在开发一款游戏,是用枪杀人.



public class Gun {
	
	public void fire(String name){
		System.out.println(name);
	}
}


调用代码是这样



public void run(Gun gun,String name){
		System.out.println("start.....");
		System.out.println("kill......ing");
		gun.fire(name);
		System.out.println("killed");
		System.out.println("end.....");
	}




在游戏中还有一个是镰刀,镰刀的功能是割草的.调用的类就不写了



public class Sickle {
	
	public void cut(String name){
		System.out.println(name);
	}
}




开发游戏的人有一天突发奇想,再做一个情节让镰刀也可以杀人.嘿嘿.



1.增加一个run()方法支持参数镰刀的类.

2.让镰刀与枪都实现某个接口,改动run()的参数类型

3.让参数用基类object,里面再进行instance of判断.

但是发现这些都要改动原来的类,好麻烦啊........而且又有风险.



于是,适配器出现了.



public class SickleGun extends Gun{
	
	private Sickle sickle;
	
	
	@Override
	public void fire(String name) {
		sickle.cut(name);
	}
	public Sickle getSickle() {
		return sickle;
	}
	public void setSickle(Sickle sickle) {
		this.sickle = sickle;
	}
	
}




哦.问题是不是解决了.

例子还是有一些牵强,如果读者有更好的例子,请分享.thanks.



二 adapter适合于哪里使用哪?



(待续)





查阅资料,自己设计整理,转载一定注明出处.

有不明白的地方,或者你认为错误的地方可以给我留言,大家共同进步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: