1.定义
装饰模式(Decorator)向一个现有的对象添加新的功能,同时又不改变其结构。就增加功能来说,装饰器模式相比生成子类更为灵活。
2.结构
2.1 UML类图
2.2 角色
- Component 抽象组件角色:一个抽象接口,是被装饰类和装饰类的父接口
- Concrete Component 具体组件角色:是抽象组件的实现类
- Decorator 抽象装饰角色:包含一个组件的引用,并定义了与抽象组件一致的接口
- Concrete Decorator 具体装饰角色:是抽象装饰角色的实现类,负责具体的装饰
3.实现
abstract class MobilePhone {
abstract void show();
}
class MiPhone extends