定义
将一个类的接口变成客户期待的另一个接口,从而是的不可能一起工作的两个类可以一起工作。
- 目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。
- 适配者(Adaptee)类:它是被访问和适配的现存组件库中的组件接口,它并没有目标对象所期待的接口。
- 适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者。
类图
代码
public class AdapterPattern {
public static void main(String[] args) {
String translate = new Adapter(new Speaker()).translate();
System.out.println(translate);
}
}
//目标接口
interface Translator{
public String translate();
}
//适配器类
class Adapter implements Translator{
private Speaker speaker;
public Adapter(Speaker speaker){
this.speaker=speaker;
}
@Override
public String translate() {
String speak = speaker.speak();
return speak;
}
}
//适配者类
class Speaker{
public String speak(){
System.out.println("hello world");
return "good";
}
}