类图:
特点:
1、被装饰对象的基类(Component):
定义一个接口动态地给这些添加职责
2、具体被装饰对象ConcreteComponent:
定义一个对象为对象添加职责
3、Decorator(装饰者抽象类)
维持一个指向Component实例引用,并定义一个与Component一致的接口
4、ConcreteDecorator(具体的装饰者)
具体的装饰对象,给内部具体的被装饰对象,增加具体的职责。
1、定义一个接口动态给这些添加职责:
2、定义一个对象添加职责:
3、维持一个指向Component引用
4、具体的装饰对象给装饰对象添加职责:
输出结果: