首页 > 代码库 > 装饰者模式
装饰者模式
装饰者模式
装饰,是女人经常需要做的事情,也是男人经常需要等待的事情。
装饰后的女人,变得漂亮、好看了,但“她还是她”
这是装饰者模式的特性
动态添加职责和功能,换句话讲,在女子长成之后才去修饰她,而非生下来即如此
但在程序语言中再怎么面向对象,它始终也是计算机语言,所以为了实现装饰前后还是同个类型的缘故,这些装饰的主体和饰品都必须是同一个类型下的子类
通常是通过
Decorator d = new Decorator(people); // people 和 d 都是同一个父类下的子类
熟悉io对象的人应该知晓,这实际上就是个递归持有对象实例的方式
实际上就是a、b、c都是继承于e,而a中包含b的私有变量,b中包含c的私有变量
这样就形成一个递归链,导致对于a的操作可以间接作用到b,再到c
因而我们可以保有这三者的特性,进行组合操作
abstract class Super { protected Super instance; } class A extend Super { public A(Super super) { instance = super; } } class B extend Super { public B(Super super) { instance = super; } } class C extend Super { public C(Super super) { instance = super; } } public class Test { public static void main(String[] args) { C c = new C(null); B b = new B(c); Super a = new A(b);
}
}
装饰者模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。