首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。 [Java代
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。 [Java代
admin
2017-08-31
73
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表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://www.kaotiyun.com/show/YODZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
网络负载平衡(NetworkLoadBalancing)的核心是位于网络适配器驱动和(1)之间的WLBS.SYS的筛选器驱动。它采用一种(2),根据传入客户端的(3),以统计方式将其映射到群集主机。当发现到达的数据包时,所有主机同时执行这种映射,以快速
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?如何设定邮件自动转发?如果向多个邮件地址进行邮件自动转发,如何配置?
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?限制MailUser邮件主机里所有用户接收的单个邮件的大小不超过5MB,如何配置?
如果以前已经配置过这台服务器为VPN服务器,现在需要重新配置,该怎么操作?在Windows2000服务器上分配给客户端使用的IP地址时的注意事项是什么?
阅读以下说明,回答问题1、问题2、问题3和问题4,将解答填入对应栏内。[说明]虚拟专用网络(VirtualPrivateNetwork,VPN)是专用网络的延伸,它包含了类似Internet的共享或公共网络链接。通过VPN可以以模拟点对点
在OSI参考模型中,NetBIOS工作在哪一层?NetBIOS包括哪些服务功能?
从工作的频段、数据传输速率、优缺点以及它们之间的兼容性等方面,对IEEE802.11a、IEEE802.11b和IEEE802.11g进行比较。简述WLAN用户通过RADIUS服务器登录的过程。
PGP协议采用RSA和IDEA两种加密算法组成链式加密体系,这种方案的优点是(1)。PGP还可以对电子邮件进行认证,认证机制是用MD5算法产生(2)位的报文摘要,发送方用自己的RSA私钥对(3)进行加密,附加在邮件中进行传送。公钥只用来加密(4),文件是用
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
假如有一台PC连接在如图10-1所示的交换机(10/100M自适应的交换机)上,通信正常,但是将100M的网卡连到交换机上时显示红灯,通信不正常,请分析故障原因并给予解决。请简要区分三层交换机与路由器。
随机试题
报告文学《包身工》中着重描绘的包身工形象有()
Thewoman______herselftodoingscientificresearch.
关于大承气汤的用法,错误的是
产褥期是指产后
在预防肠道传染病的综合措施中,下列哪项是主要环节
女,70岁。进行性无痛性黄疸2个月,上腹胀痛,体重减轻。检查:巩膜及周身皮肤黄染,100次/分,BP140/70mmHg,血清总胆红素为70μmol/L,Courvoisier征阳性。此患者首先考虑诊断为
按国际商会制定的《国际贸易术语解释通则》的规定,下列术语中只能适用于水上运输方式的有()。
某直辖市人民政府拟对本地盗版软件问题加大打击力度。但对此问题并无相关法律、法规制约,该市政府遂制定了一部规章,则该规章可以规定()。
根据外汇管理法律制度的规定,外汇管理的对象是境内机构、境内个人的外汇收支或者外汇经营活动,以及境外机构、境外个人在境内的外汇收支或者外汇经营活动。下列机构或人员中,属于外汇管理对象的境内机构或境内个人的有()。
HowtoStandOutatGraduateFairsA)Amajoreventforalljob-seekinggraduatesisTheGuardianLondonGraduateFairfro
最新回复
(
0
)