本文部分内容摘自维基百科:https://zh.wikipedia.org/wiki/%E4%BF%AE%E9%A5%B0%E6%A8%A1%E5%BC%8F
通过使用修饰模式,可以在运行时扩充一个类的功能。
原理是:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。修饰类必须和原来的类有相同的接口。
修饰模式的UML类图 一个超类--人 一个me的具体类 定义--装饰者装饰者的具体实现类-Drink 装饰者的具体实现类-BrushTeeth 最后一个测试类
到此为止,我学的也是晕乎乎的...
按照我的理解就是,被装饰着如果没被装饰,那么就相当于自己一个人,如果被装饰者装饰了,那么就相当于两者的合体!我就只能理解到这里了!
望各位。。,指点一二!!!
网友评论