当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。那么自定义的该类称为装饰类。一般的,装饰者和背装饰者实现相同的接口,实现增加功能而不增加接口。装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能。
装饰:包装,包装的是对象的引用或指针;装饰对象和原对象同时对用户可见。
继承:类的依赖性较强,集成体系臃肿。简言之,装饰扩展的是对象,而继承扩展的是类。
原文:https://www.cnblogs.com/jylz/p/10642296.html