应用场景
装饰者类是对功能的增强,装饰者增强的是跟原始类相关的功能
类结构

public abstract class Component { public abstract void operate();}
public class ConcreteComponent extends Component{ @Override public void operate() { System.out.println("ConcreteComponent operate"); }}
public abstract class Decorator extends Component{
private Component component;
public Decorator(Component component) {
this.component = component;
}
@Override
public void operate() {
this.component.operate();
}
}
public class ConcreteDecoratorA extends Decorator{
public ConcreteDecoratorA(Component component) {
super(component);
}
@Override
public void operate() {
super.operate();
System.out.println("ConcreteDecoratorA operate");
}
}