装饰者模式总的来说用到的思想是:多态、递归、自由包装。 装饰者模式涉及到一个基类(或接口)、被装饰者(主题)、装饰者。装饰者和被装饰着都继承自基类(或实现接口)。这是实现多态的基础。——在任何需要原始对象(被包装的)的场合,可以用装饰过的对象代替它。 递归——装饰者可以再所委托被装饰着的行为之前货之后,加上自己的行为,已达到特定的目的。 自由包装——对象可以再任何时候被装饰,可以在运行时动态的,不限量的用你喜欢的装饰者来装饰对象。 基类一般为abstract,且含有abstract函数。