装饰者设计模式
1.被装饰者对象
house {
1.人 peoples
2.物品 goods
}
2.装饰者持有了被装饰者对象的引用
public Decorator(House house){ super(house); }
super方法里面的参数house,就是最基本的对象(被装饰者对象),或者一层层装饰的时候,是上一层装饰对象的引用。
对于有多层的装饰者来说,它里面的这层的对象就是其被装饰者对象。所以,对于中间的层来说,其扮演的角色,即可能扮演着被装饰者角色,也扮演着装饰者角色。其是更外层的被装饰者,是更内层的装饰者。