首页
登录
从业资格
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配
最全题库
2022-08-02
58
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图6-1所示的类图
【Java代码】import java.util.*;(1)class Beverage{//饮料String description="Unknown Beverage";public(2)( ){return description;}public(3);}abstract class CondimentDecorator extends Beverage{//配料(4);}class Espresso extends Beverage{//蒸馏咖啡private final int ESPRESSO_PRICE=25;public Espresso( ){description="Espresso";}public int cost( ){return ESPRESSO_PRICE;}}class DarkRoast extends Beverage{//深度烘焙咖啡private finalint DARKROAST_PRICE=20;public DarkRoast0{description="DarkRoast";}public int cost( ){rcturn DARKROAST PRICE;}}class Mocha extends CondimentDecorator{//摩卡private final int MOCHA_PRICE=10;public Mocha(Beverage beverage){this.beverage=beverage;}public String getDescription( ){return beverage.getDescription0+",Mocha";}public int cost( ){return MOCHA_PRICE+beverage.cost( );}}class Whip extends CondimentDecorator{//奶泡private finalint WHIP_PRICE=8;public Whip(Beverage beverage){this.beverage=beverage;}public String getDescription( ){return beverage.getDescription( )+",Whip";}public int cost( ){return WHIP_PRICE+beverage.cost( );}}public class Coffee{public static void main(String args[]){Beverage beverage=new DarkRoast( );beverage=new Mocha((5));beverage=new Whip((6));System.out.println(beverage.getDescription0+"¥"+beverage.cost( ));}}编译运行上述程序,其输出结果为:DarkRoast,Mocha,Whip¥38
选项
答案
解析
(1)abstract
(2)String getDescription
(3)abstract int cost()
(4)Beverage beverage
(5)beverage
(6)beverage
本题考查了Java语言的应用能力和装饰设计模式的应用。
第(1)空很明显,是要给类Beverage前添加定义的关键字,从整个程序来看,我们应该要将类Beverage定义为抽象类,需要在前面添加关键字abstract,因此第(1)空的答案为abstract。
第(2)空处也很明显,是要给出一个函数的定义,并且该函数的函数体是“return description;”,从子类奶泡和摩卡中我们不难发现这个函数应该是getDescription,而该函数的返回类型String,因此本空的答案为String getDescription。
第(3)空需要结合后面各子类才能发现,在Beverage中还应该定义一个函数cost(),而这个函数在Beverage中并没有实现,因此要定义为抽象函数,所以第(3)空的答案为abstract int cost()=0。
第(4)空在类CondimentDecorator中,且是该类唯一的一条语句,而他的子类分别是奶泡和摩卡,在奶泡和摩卡这两个类中,都用到了Beverage beverage,而在使用之前并没有说明,因此这就可以判定,Beverage beverage是在父类CondimentDecorator中定义的,子类直接继承使用,因此第(4)空的答案为Beverage beverage。
第(5)和第(6)空在主函数当中,其中第(5)空是要创建一个Mocha对象,应该调用的是类Mocha的构造函数,从类Mocha中,我们可以看出,其构造函数Mocha的参数是一个Beverage类型的对象引用,而在主函数中,开始就定义了一个Beverage类型的对象引用beverage,因此这里只需填写beverage即可。同理第(6)空的答案也是beverage。
转载请注明原文地址:https://tihaiku.com/congyezige/2410363.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
根据客户与外包商建立的外包关系,可以将信息技术外包划分为:市场关系型外包、中间关
风险管理根据风险评估的结果,从__()__三个层面财务相应的安全控制措施。A.
成本分类是指根据成本核算和成本管理的不同要求,将成本分成不同的类别。其中,项目团
请将下面创建销售单表的SQL语句补充完整,要求指定关系的主码和外码约束。
假定某企业根据2014年5月员工的出勤率、岗位、应扣款得出的工资表如下:
根据历史数据,确定一个就诊人员是否可能患心脏病,可以采用( )算法。A.C4.
某房屋租赁公司拟开发一个管理系统用于管理其持有的房屋、租客及员工信息。请根据下述
某海外代购公司,为扩展公司业务,需要开发一个信息化管理系统。请根据公司现有业务及
根据现有的心脏病患者和非心脏病患者数据来建立模型,基于该模型诊断新的病人是否为心
使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。A.程序的内部逻
随机试题
CanTonyBlairSavetheWorldofBooks?[A]AtthebeginningofA
TheUKhasawell-respectedhighereducationsystemandsomeofthetopuniv
某专利的申请号是200710004549.6,被文献CN102024309B公开
唯物辩证法与现代系统论的关系是()。A.唯物辩证法高于现代系统论 B.现代系
在健康保险行业中,健康管理的核心任务包括()A.健康咨询 B.诊疗服务
在《普通高中化学课程标准(实验)》中,“知道氢键的存在对物质性质的影响”内容标准
站用直流电源系统验收细则中,站用直流电源系统蓄电池出厂验收时,可不进行极性检查。
中国人民银行征信管理部门应当在收到个人异议申请的()内将异议申请转交征信服务中
依据个人所得税的相关规定,个人股权转让所得主管税务机关是()。A.交易行为发
A.枕下前囟径 B.双顶径 C.枕颏径 D.双颞径 E.枕额径胎头最大径
最新回复
(
0
)