首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(1)~(6)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
阅读下列说明和Java代码,将应填入(1)~(6)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
admin
2013-07-09
48
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
用边界值分析法,假定X为整数,10≤X≤100,那么X在测试中应该取(40)边界值。
关于软件测试过程中的配置管理,______是不正确的表述。A.测试活动的配置管理属于整个软件项目配置管理的一部分B.软件测试配置管理包括4个基本的活动:配置项变更控制、配置状态报告、配置审计、配置管理委员会建立C.配置项变更控制要规定测试基线,对每个
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
确定测试基线属于()活动。
一个程序的控制流图中有5个结点,8条边,在测试用例数最少的情况,确保程序中每个可执行语句至少执行一次所需要的测试用例数的上限是_______。
以下________不是敏捷开发方法Scrum的步骤。
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间(天),则里程碑C在关键路径上。在其他活动按时完成的情况下,活动FJ最多可以晚_______天开始而不影响工期。
某个不确定有限自动机(s0为初态,s3为终态)如下图所示,_______是该自动机可识别的字符串(即从初态到终态的路径中,所有边上标记的字符构成的序列)。
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
随机试题
牛黄与远志都具有的功效是
泌尿系结石患者的非手术治疗护理措施,正确的是()。
在假性神经递质学说中,与肝性脑病发病有关的假性神经递质是
患儿,见患儿突然出现腹部绞痛,弯腰曲背,辗转不安,肢冷汗出,呕吐蛔虫,吐止后如常人。治疗首选方剂是( )。
承包人的主要任务包括()。
报表中的数据来源有()。
【2014.辽宁鞍山】教师应当尊重学生的人格,不得歧视学生,不得对学生实施()的行为,不得侵犯学生合法权益。
公安工作是我国人民民主专政政权工作的重要组成部分,是依据党和国家的政策、法律、法规保卫国家安全与社会治安秩序的专门工作。()
张载说:“有象斯有对,对必反其为。有反斯有仇,仇必和而解。”这告诉我们:
ThegraphbelowshowsthedifferentmodesoftransportusedtotraveltoandfromworkinoneEuropeancityin1950,1970and19
最新回复
(
0
)