//角色1:适配者类 (已有的、需要被适配的类)
class Adaptee {
public void specificRequest() {
System.out.println("Specific request...");
}
}
//角色2:目标接口 (我们期望的接口)
interface Target {
void request();
}
//角色3:适配器类 (继承了Adaptee并实现Target接口,解决接口不兼容的问题)
class Adapter extends Adaptee implements Target {
@Override
public void request() {
super.specificRequest(); //调用基类方法
}
}
public class Client {
public static void main(String[] args) {
Target adapter = new Adapter(); // 可选择不同类型的适配器
adapter.request(); // 调用接口方法
}
}
//角色1:适配者类 (已有的、需要被适配的类)
class Adaptee {
public void specificRequest() {
System.out.println("Specific request...");
}
}
//角色2:目标接口 (我们期望的接口)
interface Target {
void request();
}
//角色3:适配器类 (聚合Adaptee类,实现Target接口,解决接口不兼容的问题)
class Adapter implements Target {
private Adaptee adaptee; // 持有一个 Adaptee 的实例
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void request() {
adaptee.specificRequest(); // 调用成员对象的方法,实现接口兼容
}
}