java适配器模式示例代码
时间: 2023-07-18 13:39:48 浏览: 113
以下是一个简单的 Java 适配器模式示例代码:
```java
// 目标接口
interface Target {
void request();
}
// 适配者类
class Adaptee {
public void specificRequest() {
System.out.println("适配者中的业务代码被调用!");
}
}
// 类适配器类
class ClassAdapter extends Adaptee implements Target {
public void request() {
specificRequest();
}
}
// 对象适配器类
class ObjectAdapter implements Target {
private Adaptee adaptee;
public ObjectAdapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
public void request() {
adaptee.specificRequest();
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
// 类适配器
Target target1 = new ClassAdapter();
target1.request();
// 对象适配器
Adaptee adaptee = new Adaptee();
Target target2 = new ObjectAdapter(adaptee);
target2.request();
}
}
```
在上面的示例代码中,`Target` 接口是目标接口,定义了客户端需要的方法;`Adaptee` 类是适配者类,其中包含了客户端不能直接使用的业务方法;`ClassAdapter` 类是类适配器类,通过继承 `Adaptee` 类并实现 `Target` 接口,使得客户端可以使用 `Target` 接口定义的方法来调用 `specificRequest()` 方法;`ObjectAdapter` 类是对象适配器类,通过组合 `Adaptee` 对象并实现 `Target` 接口,使得客户端可以使用 `Target` 接口定义的方法来调用 `Adaptee` 中的 `specificRequest()` 方法。最后,在客户端代码中,分别通过类适配器和对象适配器来使用适配者类中的业务方法。
阅读全文