装饰类:
当想要对已有的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有对象的功能,并且提供加强功能。那么自定义的该类就称之为装饰类。
比如FileReader和BufferedReader。
装饰和继承的区别:
装饰模式比继承要灵活,避免了继承体系的臃肿。而且降低了类与类之间的关系。
装饰类为了增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能。
所以装饰类和被装饰类通常是一个体系中的。