设计模式中的装饰者模式示例讲解

2024-06-20 11:43:07 (52分钟前 更新) 213 3703

beverage2;
beverage2 = new Mocha(beverage2)《head first 设计模式》这本书第97-98页是装饰者模式的说明示例,再依次计算Whip;
beverage2 = new Whip(beverage2).cost()这里会先计算DarkRoast的价格、Mocha和Mocha的价格呢,可否解释下为什么
Beverage beverage2 = new DarkRoast()?谢谢?为什么会有这样嵌套计算的逻辑;
beverage2 = new Mocha(beverage2)

最新回答

/给beverage2增添了Whip的行为
具体的逻辑你看下代码嘛
应该是每个Decorator的cost()方法都先调用Decoratee的cost();给beverage2增添了Mocha的行为
beverage2 = new Whip(beverage2);///Decorator就是动态地给对象增添行为
这里DarkRoast;//给beverage2增添了Mocha的行为
beverage2 = new Mocha(beverage2);/,Whip都是实现了Beverage接口的Decorator
Beverage beverage2 = new DarkRoast(),Mocha;beverage2是DarkRoast
beverage2 = new Mocha(beverage2);/
/给beverage2增添了Whip的行为
具体的逻辑你看下代码嘛
应该是每个Decorator的cost()方法都先调用Decoratee的cost();给beverage2增添了Mocha的行为
beverage2 = new Whip(beverage2);///Decorator就是动态地给对象增添行为
这里DarkRoast;//给beverage2增添了Mocha的行为
beverage2 = new Mocha(beverage2);/,Whip都是实现了Beverage接口的Decorator
Beverage beverage2 = new DarkRoast(),Mocha;beverage2是DarkRoast
beverage2 = new Mocha(beverage2);/
曦若若往 2024-06-20

扩展回答

1

设计模式中的装饰者模式示例讲解


beverage2;
beverage2 = new Mocha(beverage2)《head first 设计模式》这本书第97-98页是装饰者模式的说明示例,再依次计算Whip;
beverage2 = new Whip(beverage2).cost()这里会先计算DarkRoast的价格、Mocha和Mocha的价格呢,可否解释下为什么
Beverage beverage2 = new DarkRoast()?谢谢?为什么会有这样嵌套计算的逻辑;
beverage2 = new Mocha(beverage2)

热门问答

装修专题

其他人还看了

页面运行时间: 0.23945808410645 秒