专业软件设计师网站|服务平台|服务商(加客服微信:cnitpm或QQ:947530340进软件设计师学霸群)

软题库 学习课程
当前位置:信管网 >> 软件设计师 >> 每日一练 >> 文章内容
软件设计师案例分析每日一练试题(2024/5/1)

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2024/5/1)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/1

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2024/5/1)

阅读下列说明和Java代码,将应填入 (n)  处的字句写在答题纸的对应栏内。
【说明】
某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各种促销活动,如打折、返利(例如,满300返100)等等。现采用策略(Strategy)模式实现该要求,得到如图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;     // 满额数额
this.moneyReturn =moneyReturn;           // 返利数额
}
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()函数
}
信管网试题答案与解析:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/1

信管网考友试题答案分享:

信管网bluestars:
(1) double accptcash(double money) (2) cs = new cashnormal() (3) cs = new cashdiscount(0.8) (4) cs = new cashreturn(300,100) (5) cs.accptcash(money)

信管网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);

信管网试题答案与解析:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/5/1

信管网订阅号

信管网视频号

信管网抖音号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,教材和资料参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章

精选

课程

提问

评论

收藏