首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。 [Java代
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。 [Java代
admin
2017-08-31
53
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。
现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。
[Java代码]
import java util.*:
(1) class Beverage{ //饮料
String description=“Unknown Beverage”;
public (2) () {return description;)
public (3) ;
}
abstract clas s CondimentDecorator extends Beverage{ //配料
(4);
};
class Espresso extends Beverage{ //蒸馏咖啡
private final int ESPRESSO PRICE=2 5;
publ ic Espres s 0() { description=”Espres so”;}
public int cost(){return ESPRESSO PRICE;}
}
clas s DarkRoast extends Beverage{ //深度烘焙咖啡
private finalint DARKROAST—PRICE=2 0 ;
public DarkRoast0 { description= “DarkRoast”; }
public int cost()f rcturn DARKROAST PRICE; )
}
clas s Mocha extends CondimentDecorator {//摩卡
private final int MOCHA—PRICE=10;
publ ic 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 getDescripti。n() {
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)空处也很明显,是要给出一个函数的定义,并且该函数的函数体是“returndescription;”,从子类奶泡和摩卡中我们不难发现这个函数应该是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://kaotiyun.com/show/YODZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下电子商务公司应用无线局域网的技术说明,根据要求回答问题1至问题5。【说明】由于市场的不断扩大,A电子商务公司客户数量日益增多。现有的网络已不能满足信息发展的需求,考虑到既要同时满足网络扩容顺利进行及公司日常工作的正常开展,又要保证目前土建
在OSI参考模型中,NetBIOS工作在哪一层?NetBIOS包括哪些服务功能?
在Internet上捕获并分析图8-16所示的网络中两个内部网络经由Internet通信的L2TPv2数据帧,请从以下4个选项中选择正确的答案填写到图8-17的(1)~(4)空缺处的相应位置。【供选择的答案】A.L2TPv2头
认真阅读以下关于PGP软件的使用说明,根据要求回答问题1至问题4。【说明】在Internet网络中,安全认证和保密业务的需求随着通信量、业务种类的增加而增加。广泛应用于Internet网络的E-mail系统的PGP(PrettyGoodPr
根据该单位防火墙与外部网络相关的网络连接参数,请将以下命令行中(1)~(4)空缺处的内容填写完整,以完成对防火墙相应的网络接口进行地址初始化的配置。FireWall(config)#ipaddressinside(1)(2)
非对称数字用户线(AsymmetricDigitalSubscriberLine,ADSL)是一种利用现有的传统电话线路高速传输数字信息的技术。ADSL技术可以充分利用现有铜线网路,只要在用户线路两端加装ADSL设备即可为用户提供服务。ADSL系统构
ADSL技术可以充分利用现有铜线网络,只要在用户线路两端加装ADSL设备即可为用户提供服务。请从以下术语选择适当的编号,将图5-9所示的拓扑结构中(1)~(4)空缺处的名称填写完整。【供选择的答案】A.程控交换机B.二层交换机
假如有一台PC连接在如图10-1所示的交换机(10/100M自适应的交换机)上,通信正常,但是将100M的网卡连到交换机上时显示红灯,通信不正常,请分析故障原因并给予解决。交换机设置了两个VLAN,在同一VLA_N内的机器不在同一网段上,它们可以通信吗
阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。【说明】可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanO
随机试题
泰罗的刺激系统与其他人的刺激系统不同,因为它的建立基础为()
依据《中华人民共和国水土保持法》,在()以及水土保持规划确定的容易发生水土流失的其他区域开办可能造成水土流失的生产建设项目,生产建设单位应当编制水土保持方案。
抛石基床顶面整平的目的是()。
根据营改增的有关规定,下列说法正确的有()。
公开发行A股的X股份有限公司(以下简称X公司)系ABC会计师事务所的常年审计客户。A和B注册会计师负责对X公司2005年度会划内计报表进行审计,并确定会计报表层次的重要性水平为1200000元。X公司2005年度财务报告于:2006年2月25日获董事
违约行为产生刑事法律责任。()
我国第一部叙事详细、完整的编年体史书是()。
语言:交流
《筹办夷务始末》
Thedoctorgavethepatienta(n)______examinationtodiscoverthecauseofhiscollapse.
最新回复
(
0
)