一、定义 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 二、理解 如下图所示,在对象内部创建一个实例变量,用来记录被装起来的实例,然后实现一层一层装饰起来。当需要执行贯穿所有实例的方法是,通过逐级调用内层被装饰实例实现调用: 三、实现 public abstract class Beverage { //饮料,抽象类 String description = "Unknown Beverage"; public String getDescription(){ return des…