类关系图
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比继承更为灵活。
Compontent 是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent 是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了 Component,从外类来
扩展 Component 类的功能,但对于 Component 来说,是无需知道 Drecoratot 的存在的,ConcreteDecorator 就是具体的装饰对象,起到给 Component 添加职责的功能功能。
例:一杯咖啡,可以加糖、加奶、大杯……但它仍旧是一杯咖啡,只是对咖啡进行了装饰
最后输出:
加奶加糖的拿铁咖啡
78.0