适配器模式java代码
时间: 2023-10-30 08:14:32 浏览: 58
适配器模式是一种结构型设计模式,用于将一个类的接口转换为另一个接口,使得原本不兼容的类可以一起工作。在Java中,适配器模式通常使用接口或抽象类来定义适配器,并通过继承或实现来适配不兼容的类。
以下是一个简单的适配器模式的Java代码示例:
```java
// 目标接口
interface Target {
void request();
}
// 需要适配的类
class Adaptee {
void specificRequest() {
System.out.println("Adaptee specificRequest");
}
}
// 类适配器
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 AdapterTest {
public static void main(String[] args) {
// 类适配器
Target classTarget = new ClassAdapter();
classTarget.request();
// 对象适配器
Adaptee adaptee = new Adaptee();
Target objectTarget = new ObjectAdapter(adaptee);
objectTarget.request();
}
}
```
在上面的示例中,我们定义了一个目标接口`Target`,需要适配的类`Adaptee`,以及一个类适配器`ClassAdapter`和一个对象适配器`ObjectAdapter`来适配`Adaptee`类。
类适配器继承`Adaptee`类并实现`Target`接口,通过重写`request()`方法来适配`Adaptee`类的`specificRequest()`方法。
对象适配器包含一个`Adaptee`对象,并实现`Target`接口,通过在`request()`方法中调用`Adaptee`对象的`specificRequest()`方法来适配`Adaptee`类。
在测试代码中,我们创建了一个类适配器和一个对象适配器,并调用它们的`request()`方法来测试适配器模式是否正常工作。