【说明】
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各 种促销活动,如打折、返利(例如,满300返100)等等。现采用策略( Strategy)模式实现该要求,得到如图5-1所示的类图。
5. 参考答案:
(1)virtual double acceptCash(double money) = 0 (2)cs = new CashNormal() (3)cs = new CashReturn(300,100)
16
(4)cs = new CashDiscount(0.8) (5)return cs->acceptCash(money) 试题分析:
策略模式的结构图如下:
biyiran 2016-05-20
老师,我空2~4都使用类似于 CashSuper *cs=new CashNormal()这种格式给分吗? MegumiIsh 2016-05-26 应该给分。
苏红红 2016-10-25
老师,第二个空为什么是这样呢?*cs是成员变量还是对象啊? MegumiIsh 2016-10-27
cs是对象,这里是典型的策略模式的特点。 试题六 【说明】
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各 种促销活动,如打折、返利(例如,满300返100)等等。现采用策略( Strategy)模式实现该要求,得到如图5-1所示的类图。
17
18
19
6. 参考答案:
(1)double acceptCash(double money) (2)cs = new CashNormal() (3)cs = new CashDiscount(0.8) (4)cs = new CashReturn(300,100) (5)return cs.acceptCash(money) 试题分析:
ht28_first 2016-05-04
请问老师 第5空答案(5)return cs.acceptCash(money)这里是否也可以填成cs.acceptCash.result MegumiIsh 2016-05-04
第五空填写在GetResult方法中,所以必须要return,返回acceptCash。调用该方法必须参考 public double acceptCash(double money),acceptcash里面一个形参money,没有acceptCash.result写法
20