Head First设计模式-装饰者模式
一、整体代码
Beverage.java
三、运行结果四、解释 1、什么时候用装饰者模式 当需要在类上增加功能时,如果采用继承导致类爆炸,可以选择用装饰者模式来增加类的功能。 动态地将责任附加到对象上。要想扩展功能,装饰者模式提供了有别继承的另一个种选择。 2、无轮是装饰者还是被装饰者都要继承同一个父类。 3、OO原则 对扩展开放,对修改关闭:就是增加新功能,最好扩展已有的类,不要修改已有类中的代码。
三、运行结果
四、解释
1、什么时候用装饰者模式
当需要在类上增加功能时,如果采用继承导致类爆炸,可以选择用装饰者模式来增加类的功能。
动态地将责任附加到对象上。要想扩展功能,装饰者模式提供了有别继承的另一个种选择。
2、无轮是装饰者还是被装饰者都要继承同一个父类。
3、OO原则
对扩展开放,对修改关闭:就是增加新功能,最好扩展已有的类,不要修改已有类中的代码。