设计模式--适配器模式

意图:

    将一个类的接口转化成用户希望的另一个接口

使得原本由于接口不兼容而不能一起工作的那些类一起工作。

举例:

    一个系统的一个功能模块原本是自己实现的,后来发现了一个实现相对完整的第三方接口,引用过来发现第三方的接口方法跟自己的接口不一致,此时添加一个适配器来兼容第三方接口。

类图:


代码如下:

/**
 * 
* @ClassName: IPicture  
* @Description:  原系统接口
* @author 雨ゆこ
* @date 2018年5月1日
* @version yuko1.0
 */
public interface IPicture {
	
	String getRGB();
}
/**
 * 
* @ClassName: MyPicture  
* @Description:  原系统实现类
* @author 雨ゆこ
* @date 2018年5月1日
* @version yuko1.0
 */
public class MyPicture implements IPicture {

	public String getRGB() {
		return "GGB";
	}

}

/**
 * 
* @ClassName: NewPIcture  
* @Description:  第三方
* @author 雨ゆこ
* @date 2018年5月1日
* @version yuko1.0
 */
public class NewPIcture {
	public String getR(){
		return "R";
	};
	public String getG(){
		return "G";
	};
	public String getB(){
		return "B";
	};
}
/**
 * 
* @ClassName: PictureAdapter  
* @Description: 适配器类 
* 		继承第三方类 实现 原接口 对第三方方法进行包装
* @author 雨ゆこ
* @date 2018年5月1日
* @version yuko1.0
 */
public class PictureAdapter extends NewPIcture 
							implements IPicture{

	public String getRGB() {
		String RGB = getG() + getG() + getB();
		return RGB;
	}
}
/**
 * 
* @ClassName: Yufan  
* @Description:  适配器测试类
* @author 雨ゆこ
* @date 2018年5月1日
* @version yuko1.0
 */
public class Yufan {
public static void main(String[] args) {
	IPicture p = new PictureAdapter();
	System.out.println(p.getRGB());
}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值