首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2012年上半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价
(2012年上半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价
admin
2018-07-27
18
问题
(2012年上半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某咖啡店卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表10.10所示。
现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图10.30所示的类图。
【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 final int DARKROAST_PRICE=20;
public DarkRoast(){description=’’DarkRoast’’;}
public int COSt() { return DARKROAST PRICE;}
}
class Mocha extends CondimentDecorator { //摩卡
private final int MOCHA_PRICE=10;
public Mocha(Beverage beverage){
this.beverage=beverage;
}
public String getDescription() {
return beverage.getDescription() + ’’,Mocha’’;
}
public int cost(){
return MOCHA_PRICE+beverage.cost();
}
}
class Whip extends condimentDecorator { //奶泡
private final int 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.getDescription()+’’¥’’+beVerage.cost());
}
}
编译运行上述程序,其输出结果为:
DarkRoast,Mocha,Whip¥38
选项
答案
(1)abstract (2)String getDescription (3)abstract int cost() (4)Beverage beverage (5)beverage (6)beverage
解析
装饰器模式描述了如何动态地为一个对象添加职责。该模式采用递归方式组合对象,从而允许添加任意多的对象职责。在下列情况下可以使用装饰器模式。
(1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
(2)处理那些可以撤销的职责。
(3)当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。
装饰器模式的结构如图10.31所示。图中各部分说明如下。
抽象组件角色(Component):定义一个对象接口,以规范准备接受附加责任的对象,即可以给这些对象动态地添加职责。
具体组件角色(ConcreteComponent):被装饰者,定义一个将要被装饰增加功能的类。可以给这个类的对象添加一些职责。
抽象装饰器(Decorator):维持一个指向构件Component对象的实例,并定义一个与抽象组件角色(Component、胺口一致的接口。
具体装饰器角色(ConcreteDecorator):向组件添加职责。
图10.30中的.Beverage对应的就是图10.31中的抽象类Component,Espresso和DarkRoast对应的是ConcreteComponent,CondimentDecorator对应的是Decorator,Mocha和Whip扮演的是类CondimentDecorator的具体装饰器角色ConcreteDecorator。
由于类Beverage为其子类提供了统一的操作接口,所以将其定义为抽象类。可以通过在类名前加abstract关键字来定义抽象类,因此空(1)处应填入abstract。
空(2)处和空(3)处考查构造函数的定义。从空(2)处构造函数体中返回值的类型及后续的子类继承程序可知,空(2)处应填入String getDescription;从public int cost(){return ESPRESSO PRICE;}可以看出,cost()函数的返回值为常量,因此空(3)处应填入abstract intcost()。
空(4)处考查对CondimentDecorator的定义,在该类中声明一类成员变量,并在this.beverage=beverage和return beverage.getDescription()+’’,Mocha’’中加以使用。因此空(4)处应填入Beverage beverage。
空(5)处和空(6)处考查实例化类模板的方法。类模板必须在实例化后才能使用。实例化类模板时,要给出类型实参。从类图可知,空(5)处和空(6)处均应填入beverage。
转载请注明原文地址:https://kaotiyun.com/show/d7DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]某单位要拟建一个小型局域网,其图如9-1所示,PCI、PC3、PC5的IP地址分别为10.191.140.2,10.191.140.3,10.191.1
从下列的2道试题(试题5、试题6)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。请认真阅读下列有关于路由器配置的技术说明,根据要求回答问题1至问题5。【说明】菜地市级水电站网络除了和远程子网172.20.0.0/24
请问无线局域网的工作模式有哪几种?当不使用AP时,必须把一组需要互相通信的无线网卡的什么值设为相同?
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]以太网宽带接入方式是目前许多居民小区所普遍采用的,其方式为所有用户都通过一条主干线接入Internet,每个用户均配备个人的私有IP地址,用户只需将小区
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。ADSL有哪两种IP地址的分配方式?
阅读以下说明,回答问题1至问题3。【说明】路由器中IP访问控制列表能够帮助控制网上包的传输。
阅读图1所示的某企业的网络结构图,分析网络结构,回答【问题1】~【问题3】,将解答填在横线上。
Samba的工作原理是:让(1)和NetBIOS这两种协议运行于TCP/IP通信协议之上,且通过Windows的(2)协议让用户的Linux计算机可以在Windows的网络邻居上被看到。Samba服务器配置工具是用来管理Samba共享、用户及基本服
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
在图8-12所示的拓扑结构中的代理服务器上依次单击“开始→程序→管理工具→路由与远程访问,并在系统弹出的界面中打开“IP路由选择”目录树,然后用鼠标右键单击“NAT/基本防火墙”,选择[新增接口]命令。接着若选择接口1的“本地连接”,最后进行如图8-13所
随机试题
《圣经·马太福音》:“……凡有的,还要加给他,叫他多余;没有的,连他所有的也要夺过来。”有人用“马太效应”这一术语去指涉下面的社会心理现象:科学家荣誉越高越容易得到新荣誉,成果越少越难创造新成果。马太效应造成各种社会资源(如研究基金、荣誉性职位)向少数科学
区别和判断是否侵犯商标权的一条重要界限是()
求由方程y—xey=0所确定的隐函数y=y(x)的导数
患者,女,32岁,已婚。现停经45天,尿妊娠试验阳性。2小时前因与爱人吵架出现左下腹撕裂样剧痛,伴肛门坠胀。面色苍白。查体:血压80/50mmHg,左下腹压痛、反跳痛明显,有移动性浊音。阴道有少量出血。应首先考虑的是
根据《税收征收管理法》的规定,以下说法正确的有:()
以土地使用权为出让方式取得的房地产抵押的,所担保债务的履行期限不得超过()。
会计专业技术职务的高级职务是()。
下列关于税法特点的表述中,不正确的是()。
阅读案例,回答问题。在学习《思念》这首歌的时候,教师为了让学生们唱的更有感情,就问学生们现在最思念的人是谁,并且说说理由,同学们都积极踊跃地发言。这时老师发现一位女生趴在桌子上抹眼泪,老师问她怎么了,她哭着说:“我想我的爸爸,我爸爸对我特别好,我
A、HeexploredthenightlifeofNewYork.B、Hecollectedusedboxesfromthestreets.C、Hejoinedmanyart-relatedactivities.D
最新回复
(
0
)