Java适配器模式是一种结构型设计模式,它允许将现有类的接口转换为客户端期望的另一个接口。适配器模式主要用于解决接口不兼容的问题。
以下是一个简单的Java适配器模式实现示例:
首先,我们定义一个目标接口Target
,它包含一个方法request()
:
public interface Target {
void request();
}
然后,我们有一个现有类Adaptee
,它实现了一个与Target
不兼容的接口AdapteeInterface
:
public class Adaptee implements AdapteeInterface {
@Override
public void specificRequest() {
System.out.println("Adaptee 的 specificRequest 方法被调用");
}
}
AdapteeInterface
接口定义如下:
public interface AdapteeInterface {
void specificRequest();
}
接下来,我们创建一个适配器类Adapter
,它实现了Target
接口,并在内部使用Adaptee
对象:
public class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void request() {
adaptee.specificRequest();
}
}
现在,我们可以在客户端代码中使用适配器来将Adaptee
对象适配为Target
接口:
public class Client {
public static void main(String[] args) {
Adaptee adaptee = new Adaptee();
Target target = new Adapter(adaptee);
target.request(); // 输出:Adaptee 的 specificRequest 方法被调用
}
}
通过这种方式,我们成功地将Adaptee
对象的接口适配为客户端期望的Target
接口,使得客户端代码可以与现有类进行交互。