生成 java 的 装饰者模式 代码
时间: 2023-05-11 13:07:05 浏览: 74
以下是一个简单的 Java 装饰者模式示例代码:
```
public interface Component {
void operation();
}
public class ConcreteComponent implements Component {
@Override
public void operation() {
System.out.println("ConcreteComponent operation.");
}
}
public class Decorator implements Component {
private Component component;
public Decorator(Component component) {
this.component = component;
}
@Override
public void operation() {
component.operation();
}
}
public class ConcreteDecorator extends Decorator {
public ConcreteDecorator(Component component) {
super(component);
}
@Override
public void operation() {
super.operation();
System.out.println("ConcreteDecorator operation.");
}
}
```
这个示例中,`Component` 是一个接口,定义了一个 `operation()` 方法。`ConcreteComponent` 是一个具体的组件类,实现了 `Component` 接口。`Decorator` 是一个装饰者类,也实现了 `Component` 接口,并持有一个 `Component` 对象。`ConcreteDecorator` 是一个具体的装饰者类,继承自 `Decorator`,并在调用父类的 `operation()` 方法后,添加了自己的操作。
使用装饰者模式可以动态地给一个对象添加一些额外的职责,而不需要修改原始对象的代码。