首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(1)~(6)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
阅读下列说明和Java代码,将应填入(1)~(6)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
admin
2013-07-09
63
问题
阅读下列说明和Java代码,将应填入(1)~(6)处的字句写在答题纸的对应栏内。
【说明】
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
现采用装饰器(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 DarkRoast(){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();}
}
publ ic class Coffee{
public static void main(String args[]){
Beverage beverage=new DarkRoast();
beverage=new Mocha(
(5)
);
beverage=new Whip(
(6)
);
System.out.println(beverage.getDescription() +”¥” +beverag e.cost());
}
}
编译运行上述程序,其输出结果为:
DarkRoast,Mocha,Whip¥38
选项
答案
(1)abstract (2)String getDescription (3)abstract int cost() (4)Beverage beverage (5)beverage (6)beverage
解析
装饰器模式描述了如何动态地为一个对象添加职责。该模式采用递归方式组合对象,从而允许添加任意多的对象职责。在下列情况下可以使用装饰器模式:
(1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
(2)处理那些可以撤销的职责。
(3)当不能采用生成子类的方法进行扩充时。一种情况是可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。
装饰器模式的结构如下图所示。其中:
.抽象组件角色(Component):定义一个对象接口,以规范准备接受附加责任的对象,即可以给这些对象动态地添加职责。
.具体组件角色(ConcreteComponent):被装饰者,定义一个将要被装饰增加功能的类。可以给这个类的对象添加一些职责。
.抽象装饰器(Decorator):维持一个指向构件Corn-ponent对象的实例,并定义一个与抽象组件角色Compo-nent接口一致的接口。
.具体装饰器角色(Concrete Decorator):向组件添加职责。
图6—1中的Beverage对应的就是上图中的抽象类Component、Espresso和DarkRoast对应的是ConcreteCom-ponent,CondimentDecorator对应抽象装饰器Decorator、Mocha和Whip扮演的是类CondimentDecorator的具体装饰器角色Concrete Decorator。
由于类Beverage为其子类提供了统一的操作接口,所以将其定义为抽象类。通过可以在类名前加abstract关键字来定义抽象类,因此(1)处应填入abstract。
(2)和(3)处考查构造函数的的定义。从(2)处构造甬数体中返回值的类型及后续的子类继承程序可知,(2)处应填入String getDescription;从public int cost(){return ES-PRESSO PRICE;}可以看出,cost()函数的返回值为常量,因此(3)处应填入abstract int cost()。
(4)处考查对CondimentDecorator的定义,在该类中声明一类成员变量,并在this.beverage=beverage和returnbeverage.getDescription0+”,Mocha”加以使用。因此(4)处应填入Beverage beverage。
(5)和(6)处考查实例化类模板的方法。类模板必须在实例化后才能使用。实例化类模板时,要给出类型实参。从类图可知,(5)和(6)处均应填入beverage。
转载请注明原文地址:https://kaotiyun.com/show/QiDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下不属于软件测试工具的是()。
标准符合性测试是软件测试的工作之,这里的标准不包括_______。
在分层体系结构中,控制层接收用户的请求并决定调用哪个模型去处理该请求,以及确定选择哪个视图来显示返回的数据。在基于JavaEE平台开发的软件系统中,常用_________技术来实现该层。
以下不属于在需求分析阶段编写的文档是
以下关于数据流图的基本要素的叙述中,不正确的是_______。
通常VLAN有静态和动态2种实现方式,这2种方式分别是如何实现的?各有什么特点?Switch1采用的是哪种实现方式?填充VLAN信息表如表9-3所示,将答案填写在答题纸相应位置。
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明网络解决方案如图4-1所示。该网络原先使用的是国外品牌的交换机,随着网络规模的扩大,增添了部分国产品牌的交换机,交换机1至交换机5均是国产10M/100M自适应交换机,交换机6
请认真阅读下列有关计算机网络防火墙的说明信息,回答问题1~5。[说明]某单位的内部局域网通过防火墙与外部网络的连接方式及相关的网络参数如下图所示。
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
随机试题
哺乳期妇女用药注意的是
甲因办厂无资金向乙借款10万元,借期两年,并且由丙担保在甲不还钱时代甲向乙还款。两年后,甲因经营不善无力偿还借款,乙向甲和丙索款未果,向法院提起诉讼。本案中关于甲、丙诉讼地位的判断哪些是正确的?
信托业务是指信托投资公司以资金融通为目的,以受托人身份承诺信托和处理信托事务的经营行为。()
甲公司生产A产品,生产过程分为两个步骤,分别在两个车间进行。一车间为二车间提供半成品。二车间将半成品加工成产成品。每件产成品消耗一件半成品。甲公司用平行结转分步法结转产品成本,月末对在产品和产成品进行盘点,用约当产量法在产成品和在产品之间分配成本。原材料在
根据行为主义的观点,学习的实质是()。
2004年我国东部农村约有绝对贫困人口()万人。根据图表,以下不正确的一项是()
《柳叶刀》是世界上最悠久及最受重视的同行评审性质的医学期刊,它属于()。
1895年,康有为率同梁启超等数干名举人联名上书光绪皇帝,反对清政府签订丧权辱国的《马关条约》。“公车上书”被认为是维新派登上历史舞台的标志。这一运动是
用于查看报表的页面数据输出形态是指()。
赤壁(Chibi)是中国著名的古战场,位于今天的湖北省境内。赤壁之战发生在三国时期(theThreeKing-domsPeriod)。刘备和孙权联合起来,巧用火攻,战胜了强大的曹操军队。因此,赤壁之战成了著名的以弱胜强的战例,许多军事文献都有提及。此
最新回复
(
0
)