VI.结构(适配器模型)
最编程
2024-10-12 14:09:34
...
// 目标接口
interface Target {
void request();
}
// 适配者类1
class Adaptee1 {
public void specificRequest1() {
System.out.println("适配者1的方法");
}
}
// 适配者类2
class Adaptee2 {
public void specificRequest2() {
System.out.println("适配者2的方法");
}
}
// 适配器类
class MultiAdapter implements Target {
private Adaptee1 adaptee1;
private Adaptee2 adaptee2;
public MultiAdapter(Adaptee1 adaptee1, Adaptee2 adaptee2) {
this.adaptee1 = adaptee1;
this.adaptee2 = adaptee2;
}
@Override
public void request() {
System.out.println("多适配器转发请求");
adaptee1.specificRequest1(); // 调用适配者1的方法
adaptee2.specificRequest2(); // 调用适配者2的方法
}
}
// 客户端
public class ClientMultiAdapter {
public static void main(String[] args) {
Adaptee1 adaptee1 = new Adaptee1();
Adaptee2 adaptee2 = new Adaptee2();
Target target = new MultiAdapter(adaptee1, adaptee2);
target.request(); // 通过多适配器调用多个适配者的方法
}
}