装饰者模式

装饰者的概念:

装饰者就像益禾堂的一杯奶茶,你可以给它增加种调料,如芒果,红豆,蜂蜜冻. . . ,
装饰者对于这杯奶茶的看法是,本质是奶茶,加了红豆也是奶茶,虽然我不知道奶茶里有什么,但不妨碍我为其增加调料,就像俄罗斯套娃一样。

对于基类来说,子类的继承可以增加新的功能,但这些功能在静态编译时就已经确定。在策略模式中我们通过组合和委托动态的改变了类的功能。装饰者模式可以实现为对象动态的增加职责,只要多套层装饰。
在这里插入图片描述

装饰者模式具有的一些特征

1,装饰者(decorator)和被装饰(扩展)的对象有着相同的超类(supertype)。

2,我们可以用多个装饰者去装饰一个对象。

3,我们可以用装饰过的对象替换代码中的原对象,而不会出问题(因为他们有相同的超类)。

4,装饰者可以在委托(delegate,即调用被装饰的类的成员完成一些工作)被装饰者的行为完成之前或之后加上他自己的行为。

5,一个对象能在任何时候被装饰,甚至是运行时。

装饰者模式类图

在这里插入图片描述
装饰者模式实现

总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值