概述
将一个类的接口转换为客户端需要的接口(其实主要是另一个类需要的接口,比如将LinkedList链表中的addLast,removeFirst,模拟用栈中的push,pop)
主要角色
目标接口(Target):目标可以是具体的或抽象的类,也可以是接口。如队列中的接口。
适配器类(Adaptee):需要适配的类或适配者类。如队列中底层的LinkedList。
适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。
示例
public class Target {
public void target() {
System.out.println("target");
}
}
public class Adaptee {
public void adaptee() {
System.out.println("adapee");
}
}
public class Adapter extends Target {
Adaptee a = new Adaptee();
public void target() {
a.adaptee();
}
public static void main(String args[]) {
Target t = new Adapter();
t.target();
}
}
用现有的类的接口实现新的逻辑接口。