首页
登录
从业资格
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配
最全题库
2022-08-02
71
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
现采用装饰器(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://www.tihaiku.com/congyezige/2410363.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
根据客户与外包商建立的外包关系,可以将信息技术外包划分为:市场关系型外包、中间关
风险管理根据风险评估的结果,从__()__三个层面财务相应的安全控制措施。A.
成本分类是指根据成本核算和成本管理的不同要求,将成本分成不同的类别。其中,项目团
请将下面创建销售单表的SQL语句补充完整,要求指定关系的主码和外码约束。
假定某企业根据2014年5月员工的出勤率、岗位、应扣款得出的工资表如下:
根据历史数据,确定一个就诊人员是否可能患心脏病,可以采用( )算法。A.C4.
某房屋租赁公司拟开发一个管理系统用于管理其持有的房屋、租客及员工信息。请根据下述
某海外代购公司,为扩展公司业务,需要开发一个信息化管理系统。请根据公司现有业务及
根据现有的心脏病患者和非心脏病患者数据来建立模型,基于该模型诊断新的病人是否为心
使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。A.程序的内部逻
随机试题
[originaltext]Paul,asalesmanfromLondon,wasdrivingpastasportscarp
It’snoteasynoticedbutitiseverywhere.Its【M1】_____
中央16号文件指出,高校家庭经济困难学生新资助体系以()为主体。A.国家奖助学
A.1/3 B.1 C.2 D.3
C
关于婴幼儿精细运动发育顺序,下列叙述错误的是:A.7个月可将积木从一只手倒换到另
下列属于良心作用的是A.对患者知情同意 B.对患者的资料保密 C.在行为前选
下列表述正确的是()。A.在任何情况下,通货膨胀对经济的影响都很小 B.在任何
培训定性评估的主要特点是()A.评估结果受评估者的主观因素、理论水平和实践经验
求助者:我是家里的老二,有一个姐姐一个妹妹。我跟父母的感情非常好,一直和他们住在
最新回复
(
0
)