在设计一个类的时候,应该对扩展开放,对修改关闭。 在装饰者模式中,装饰者和被装饰对象都继承自同一个父类。这里之所以用继承而不是用实现接口,是因为为了保证装饰者和被装饰对象是同样的类型,而不是为了继承行为。