首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。
admin
2015-06-03
55
问题
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表16-2所示。
现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图16-8所示的类图。
【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=2 5;
public Espress0(){description=“Espresso”; }
public int cost(){ return ESPRESSO PRICE; }
}
class DarkRoast extends Beverage { //深度烘焙咖啡
private finalint DARKROAST PRICE=20;
public DarkRoast0 { 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();}
}
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 im 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://kaotiyun.com/show/fpDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
DHCP允许服务器向客户端动态分配Ⅲ地址和配置信息。客户端可以从DHCP服务器获得(1)。(1)A.DHCP服务器的地址B.Web服务器的地址C.DNS服务器的地址邮件服务器的网络配置信息如图3-5所示。请在图3-6中为邮件服务器
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
该网络采用R1~R7共7台路由器,采用动态路由协议OSPF。由图1-1可见,该网络共划分了3个OSPF区域,其主干区域为(1),主干区域中,(2)为区域边界路由器,(3)为区域内路由器。该单位部门4共有110台PC机,通过交换机连接路由器R5接入网络。
根据你的网络工程经验,请用250字以内的文字简要描述该21层教学综合大楼网络层次结构设计的要点。(不要求画图)该21层教学综合大楼网络规则方案不仅要体现所设计的网络能满足现有及未来几年信息系统的应用需求,还需具有较高的平均无故障时间和尽可能低的平均故障
如果ping127.0.0.1(本地循环地址),如果该地址无法Ping通,则说明了是什么原因?什么命令是一个监控TCP/IP网络的实用的工具,它可以显示实际的网络连接以及每一个网络接口设备的状态信息?什么命令是把网卡物理地址与IP静态地址捆绑在一起?
简述本题中POP3服务的实现过程。要求:(1)仅屏蔽来自200.117.112.0网络的FTP数据信息;(2)仅屏蔽来自192.168.11.12主机对Internet的FTP数据信息请求。请填写完整相关信息,将(1)~(4)处
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整IEEE802.11定义了无线局域网(WLAN)的两种工作模式,根据图4-8所示的网络拓朴结构可判断出该WLAN的工作模式是(4)。当前WLAN中主要使
简述网络规划阶段需求分析的方法和解决的问题。(控制在100个字以内)在网络规划阶段“系统可行性分析和论证”的主要内容是什么?(控制在100个字以内)
随机试题
铸铁退火件通常用()测量硬度值。
中国剥削阶级被消灭的标志是()
下列选项中,不届于报表附注应包含的内容是
试述慢性脓胸的主要病因。
引起ARDS严重低氧血症和呼吸窘迫的主要病理生理改变为
尸斑一般出现在尸体的哪个部位()。
甘草具有的功效是
利福平抗菌作用的原理是
以下属于会计专业职务的是()。
()主张回归自然,“复归”人的自然本性,认为一切顺其自然便是最好的教育。
最新回复
(
0
)