问题 问答题

试题五(共15分)阅读下列说明和C++代码,将应填入____(n)___处的字句写在答题纸的对应栏内。[说明]某咖啡店售卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据矽加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。

答案

参考答案:(1) protected(2) virtual string getDescription(3) virtual int cost()=0(4) Beverage* beverage(5) beverage(6) beverage

解析:本题考查装饰器(Decorator)模式的概念及应用。 Decorator模式动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式提供了比继承更有弹性的替代方案。 Decorator模式的优点是有效避免了使用继承方式扩展对象功能而带来的灵活性差、子类无限制扩展的问题;装饰者与被装饰者之间虽然都是同一类型,但是它们彼此是完全独立并可以独立任意改变的。 Decorator模式的适用场合是:想透明并且动态地给对象增加新的职责;给对象增加的职责,在未来存在增加或减少的可能。 Decorator模式的类图如下所示:

单项选择题 A1/A2型题
判断题