首页
登录
从业资格
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配
最全题库
2022-08-02
48
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
现采用装饰器(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.程序的内部逻
随机试题
Teachersneedtobeawareoftheemotional,intellectual,andphysicalchang
1mol刚性双原子理想气体,当温度为T时,每个分子的平均平动动能为:
对外阴白化病表述不正确的是A、全身性遗传性疾病 B、患者多无不适 C、不
溃疡性结肠炎患者因腹痛、腹泻明显,应用过多M胆碱受体阻断药,可能引起下列哪项并发
男性,64岁,吸烟史40年,近半年有咳疾,痰中带血丝,近3个月出现声音嘶哑,查体
Thechangeinthatvillagewasmiraculou
( )是当前人员招聘面试发展的主流。A.结构化面试 B.非结构化面试 C.
对个人投资者从基金分配中获得的股利收入、债券利息收入、储蓄存款利息收入,由上市公
应用胆碱酯酶复活剂解救有机磷的注意事项是A.胆碱酯酶复活剂可直接注射 B.凡是
下列关于个体工商户的生产、经营所得的计税方法,正确的是()。A.支付给业主的工资
最新回复
(
0
)