首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(1)~(6)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
阅读下列说明和Java代码,将应填入(1)~(6)处的字句写在答题纸的对应栏内。 【说明】 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
admin
2013-07-09
31
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
关于软件测试过程中的配置管理,______是不正确的表述。A.测试活动的配置管理属于整个软件项目配置管理的一部分B.软件测试配置管理包括4个基本的活动:配置项变更控制、配置状态报告、配置审计、配置管理委员会建立C.配置项变更控制要规定测试基线,对每个
反映Web应用客户端交易处理性能的评估指标有(59)。 ①并发用户数 ②交易响应时间 ③交易通过率 ④吞吐量 ⑤点击率
某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统中字长为32位,磁盘上的物理块依次编号为:0、1、2、…,那么8192号物理块的使用情况在位示图中的第(12)个字中有所描述。
在计算机系统中,构成虚拟存储器(8)。
某个不确定有限自动机(s0为初态,s3为终态)如下图所示,_______是该自动机可识别的字符串(即从初态到终态的路径中,所有边上标记的字符构成的序列)。
若系统中有4个互斥资源R,当系统中有2个进程竞争R,且每个进程都需要i个R(i≤3)时,该系统可能会发生死锁的最小i值是________。
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
SSL协议使用(1)密钥体制进行密钥协商。在IIS5.0中,Web服务器管理员必须首先安装Web站点数字证书,然后Web服务器才能支持SSL会话,数字证书的格式遵循ITU-T(2)标准。通常情况下,数字证书需要由(3)颁发。如果Web服务器管理员希望W
随机试题
口服给药后,进入体循环有效药量减少的现象称为
氨茶碱为什么既能治疗支气管哮喘,又能治疗心源性哮喘?
前带现象是
会计行业组织起着联系会员与政府的桥梁作用,会计行业组织对队员进行自律性监管。()
债务人财产,即为破产申请受理时属于债务人的全部财产。()
企业在年度中间终止经营活动的,应当自实际经营终止之日起()内,向税务机关办理当期企业所得税汇算清缴。
《中小学班主任工作暂行规定》指出,班主任是中小学日常思想道德教育和学生管理工作的主要实施者,是中小学生健康成长的(),班主任要努力成为中小学生的人生导师。
______ismarkedbyitsindustry?______includessomeoftheoldeststatesoftheU.S.A?
Whatisyourresponsibilitywhenyou,asaschoolprincipal,gettheteacher’sreport?
A、deniedthatU.S.soldiersweretoblamefortheirabuseofprisonersinIraqB、refusedtoadmitthatitwasanerrortolaunc
最新回复
(
0
)