装饰者模式以透明的方式动态的给一个对象添加不同的功能。
场景:平常买油泼面,可以加卤蛋加辣椒。
设计图如下:
首先抽象面条类,并实现具体的面条类(油泼面):
定义抽象装饰类:
实现具体装饰类(辣椒和卤蛋):
客户端调用及结果: