装饰者模式——decorate

本文部分内容摘自维基百科:https://zh.wikipedia.org/wiki/%E4%BF%AE%E9%A5%B0%E6%A8%A1%E5%BC%8F

通过使用修饰模式,可以在运行时扩充一个类的功能。

原理是:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。修饰类必须和原来的类有相同的接口。

装饰者模式——decorate_第1张图片
修饰模式的UML类图


一个超类--人
装饰者模式——decorate_第2张图片
一个me的具体类
装饰者模式——decorate_第3张图片
定义--装饰者
装饰者模式——decorate_第4张图片
装饰者的具体实现类-Drink
装饰者模式——decorate_第5张图片
装饰者的具体实现类-BrushTeeth
装饰者模式——decorate_第6张图片
最后一个测试类

到此为止,我学的也是晕乎乎的...

按照我的理解就是,被装饰着如果没被装饰,那么就相当于自己一个人,如果被装饰者装饰了,那么就相当于两者的合体!我就只能理解到这里了!

望各位。。,指点一二!!!

你可能感兴趣的:(装饰者模式——decorate)