定义
适配器模式:将一个类的接口转换成客户希望的另外一个接口。
Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。系统的数据和行为都正确,但是接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有的对象与某个接口匹配。
适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
在GoF设计模式中,对设计模式讲了两种类型,类适配器和对象适配器模式,由于类适配器通过多重继承对一个接口与另一个接口进行匹配,而Java、C#等语言都不支持多重继承,也就是一个类只有一个父类,所以我们这里主要讲的是对象适配器。
结构图
Target类:
public class Target {
public void Request(){
System.out.println("普通请求!");
}
}
Adapter类:
public class Adapter extends Target{
private Adaptee adaptee = new Adaptee();
@Override
public void Request() {
adaptee.SpecificRequest();
}
}
Adaptee类:
public class Adaptee {
public void SpecificRequest(){
System.out.println("特殊请求!");
}
}