设计模式--适配器模式

意图:

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

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

举例:

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

类图:


代码如下:

/**
 * 
* @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());
}
}




猜你喜欢

转载自blog.csdn.net/yf289178199/article/details/80154083