摘要:2015年下半年软件设计师考试真题下午卷 试题六(共15分) 阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
>>>>>>>>>> 点击进入2016年软件设计师网络课堂课
>>>>>>>>>>点击进入软件设计师历年真题题库
>>>>>>>>>>点击进入2016年软件设计师考试指南
2015年下半年软件设计师考试真题下午卷
试题六(共15分)
阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各 种促销活动,如打折、返利(例如,满300返1 00)等等。现采用策略( Strategy)模式实 现该要求,得到如图6-1所示的类图。
【Java代码】
import java util*;
enum TYPE { NORMAL, CASH_DISCOUNT, CASH_RETURN};
interface CashSuper {
Public (1)
}
class CashNormal imp lements CashSuper{ //正常收费子类
Public double accptCash(double money){
return money;
}
}
class CashDiscount implements CashSuper {
private double moneyDiscoMt; //折扣率
public CashDiscount(double moneyDiscount) {
This moneyDiscount = moneyDiscount;
}
public double acceptCash(double money) {
Return money* moneyDiscount;
}
}
class CashReturn im plements CashSuper { //满额返利
private double moneyCondition;
private double moneyRetum;
public CashReturn(double moneyCondition, double moneyRetum) {
thismoneyCondition =moneyCondition; // 满额数额
thismoneyReturn =moneyReturn; //返利数额
public double acceptCash(double money) {
double result = money;
if(money >= moneyCondition )
result =money -Math.floor(nioney/moneyCondition ) * moneyReturn;
return result;
}
}
class CashContext_{
private CashSuper cs;
private TYPE t;
public CashContext(TYPE t) {
switch(t){
case NORMAL: // 正常收费
(2)
break;
case CASH_DISCOUNT: // 满 300返 100
(3) ;
break;
case CASH_DISCOUNT: // 打八折
(4) break;
}
}
public double GetResult(double money) {
(5) ;
}
∥此处略去main()函数
}
相关链接:
软考备考资料免费领取
去领取