java设计模式_适配器模式
java设计模式_适配器模式
王大叔爱编程 发表于5年前
java设计模式_适配器模式
  • 发表于 5年前
  • 阅读 164
  • 收藏 1
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

新手+菜鸟,入门设计模式,有什么不对的地方,请各位灌水。我表示灰常欢迎。废话少说,上代码。

一,类适配器

package com.wangbiao.test;


/**
 * 适配器模式,类适配器和对象适配器,适配器,将已经存在的东西转换为我们能用的东西,USB接口就是一个适配器
 * 已经存在一个特殊的功能,但是我的接口和实现类没有那个功能,并且我不想改变我的接口和实现类,可以采用适配器模式
 * 2013/03/29
 * @author WangBiao
 *
 */
public class ClassAdapter {

	
	public static void main(String[] args) {
		
		Target target=new Adapter();
		target.data_transfer();
		
	}
}


class Adaptee{
	
	public void charge(){
		System.out.println("I can charge for electric device");
	}
}

class Adapter extends Adaptee implements Target{
	
	public void data_transfer(){
		super.charge();
	}
}

interface Target{
	public void data_transfer();
	
}

class CommonFunction implements Target{
	public void data_transfer(){
		System.out.println("transfer data is ok");
	}
}

二,对象适配器

package com.wangbiao.test;

/**
 * 适配器模式,类适配器和对象适配器,适配器,将已经存在的东西转换为我们能用的东西,USB接口就是一个适配器
 * 已经存在一个特殊的功能,但是我的接口和实现类没有那个功能,并且我不想改变我的接口和实现类,可以采用适配器模式
 * 2013/03/29
 * @author WangBiao
 *
 */
public class ObjectAdapter {

	
	public static void main(String[] args) {
		
		Target_second target= new Adapter_second(new Adaptee_second());
		target.data_transfer();
	}
}

class Adaptee_second{
	
	public void charge(){
		System.out.println("I can charge for electric device");
	}
}

class Adapter_second implements Target_second{
	
	private Adaptee_second adaptee;
	public Adapter_second(Adaptee_second adaptee) {
		// TODO Auto-generated constructor stub
		this.adaptee=adaptee;
	}
	@Override
	public void data_transfer() {
		this.adaptee.charge();
	}
	
}

interface Target_second{
	public void data_transfer();
	
}

class CommonFunction_second implements Target_second{
	public void data_transfer(){
		System.out.println("transfer data is ok");
	}
}
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
王大叔爱编程
粉丝 32
博文 104
码字总数 63525
×
王大叔爱编程
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: