03.装饰模式

 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活

abstract class Decorator implements Component{
    protected Component component;
    public void setComponent(Component component){
        this.component=component;
    }
    
    @Override
    public void Operation(){
        if(component != null){
            component.Operation();
        }
    }
}

装饰模式是利用setComponent来对对象进行包装的。这样每个装饰对象的实现就和如何使用这个对象分离开了

原文地址:https://www.cnblogs.com/lvjygogo/p/8552833.html