軟件設(shè)計師案例分析當天每日一練試題地址:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4
往期軟件設(shè)計師每日一練試題匯總:m.xiexiliangjiufa.com/class/27/e4_1.html
軟件設(shè)計師案例分析每日一練試題(2022/7/3)在線測試:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4&day=2022/7/3
點擊查看:更多軟件設(shè)計師習題與指導
軟件設(shè)計師案例分析每日一練試題內(nèi)容(2022/7/3)
閱讀下列說明和Java代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
某大型購物中心欲開發(fā)一套收銀軟件,要求其能夠支持購物中心在不同時期推出的各種促銷活動,如打折、返利(例如,滿300返100)等等?,F(xiàn)采用策略(Strategy)模式實現(xiàn)該要求,得到如圖6-1所示的類圖。
圖6-1 策略模式類圖
【Java代碼】
import java.util.*;
enum TYPE { NORMAL, CASH_DISCOUNT, CASH_RETURN};
interface CashSuper {
public (1) ;
}
class CashNormal implements CashSuper{ // 正常收費子類
public double accptCash(double money){
return money;
}
}
class CashDiscount implements CashSuper {
private double moneyDiscount; // 折扣率
public CashDiscount(double moneyDiscount) {
this moneyDiscount = moneyDiscount;
}
public double acceptCash(double money) {
return money* moneyDiscount;
}
}
class CashReturn implements CashSuper { // 滿額返利
private double moneyCondition;
private double moneyReturn;
public CashReturn(double moneyCondition, double moneyReturn) {
this.moneyCondition =moneyCondition; // 滿額數(shù)額
this.moneyReturn =moneyReturn; // 返利數(shù)額
}
public double acceptCash(double money) {
double result = money;
if(money >= moneyCondition )
result=money-Math.floor(money/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: // 打8折
(3) ;
break;
case CASH_RETURN: // 滿300返100
(4) ;
break;
}
}
public double GetResult(double money) {
(5) ;
}
//此處略去main()函數(shù)
}
信管網(wǎng)試題答案與解析:m.xiexiliangjiufa.com/st/3816226871.html
信管網(wǎng)考友試題答案分享:
信管網(wǎng)cnitpm537653968867:
1、public double acceptcash(double money);
2、cs = new cashdiscount(1);
3、cs = new cashdiscount(0.8);
4、cs = new cashreturn(300,100);
5、return cs.acceptcash(money);
信管網(wǎng)試題答案與解析:
m.xiexiliangjiufa.com/st/3816226871.html