装饰模式类似于继承,用于扩展被装饰的类,但是又很灵活,不至于继承后的子类过于臃肿,且耦合性低,只需关心每个类,无需关心其他类。
一般用法:
1.被装饰(抽象)类或接口拥有基本功能。
2.装饰类通常拥有一个装饰类或其子类的实例,并且可以继承被装饰类,同时添加一些新的功能。重写继承的同名函数,内部首先执行拥有的被装饰类对象的行为,然后再执行新扩展的功能。
3.可以进行多重装饰,互不影响。
装饰模式类似于继承,用于扩展被装饰的类,但是又很灵活,不至于继承后的子类过于臃肿,且耦合性低,只需关心每个类,无需关心其他类。
一般用法:
1.被装饰(抽象)类或接口拥有基本功能。
2.装饰类通常拥有一个装饰类或其子类的实例,并且可以继承被装饰类,同时添加一些新的功能。重写继承的同名函数,内部首先执行拥有的被装饰类对象的行为,然后再执行新扩展的功能。
3.可以进行多重装饰,互不影响。