首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(Invoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。 [
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(Invoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。 [
admin
2017-11-28
48
问题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某发票(Invoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。
[Java代码]
class Invoice{
public void print工nVoice() {
System.out.println(“This is the content of the invoice!”);
}
}
class Decorator extends Invoice{
protected Invoice ticket;
publ ic Decorator(Invoice t){
ticket=t;
}
public void print Invoice(){
if(ticket!=null)
(1);
}
)
clas s HeadDecorator extends Decorator{
public HeadDecorator(Invoice t){
super(t);
}
public void printInVoice() {
System.out.println(“This is the header of the invoice!”);
(2);
}
}
class FootDecorator extends Decorator{
public FootDecorator(Invoice t){
super(t);
}
public void printInVoice() {
(3);
System.out.println(“This is the footnote of the invoice!”);
}
}
class Test{
public static void main(String[]args){
Invoice t=new Invoice();
Invoice ticket;
ticket= (4);
ticket.printInvoice();
System.out.println(“一一一一一一”);
ticket= (5) ;
ticket.printInvoice();
}
}
程序的输出结果为:
This is the header of the invoice!
This is the content of the invoice!
This is the footnote of the invoice!
This is the header of the invoice!
This is the footnote of the invojce!
选项
答案
(1)ticket.printlnvoice() (2)super.printlnvoice() (3)super.printlnvoice() (4)new HeadDecorator(new FootDecorator(t)) (5)new HeadDecorator(new FootDecorator(null))
解析
本题考查装饰(Decorator)模式的基本概念和应用。
装饰模式属于结构型设计模式,其设计意图是动态地给一个对象添加一些额外的职责。就增加功能而言,装饰模式比生成子类更加灵活。装饰模式的结构如图6-2所示。
其中:
Component定义一个对象接口,可以给这些对象动态地添加职责。
ConcreteComponent定义一个对象,可以给这个对象添加一些职责。
Decorator维持一个指向Component对象的指针,并定义一个与Component接口一致的接口。
ConcreteDecorator向组件添加职责。
装饰模式适用于:
在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。
处理那些可以撤销的职责。
当不能采用生成子类的方式进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是,由于类定义被隐藏,或类定义不能用于生成子类。
本题将装饰模式用于实现打印发票问题。图6-1的类图中,类Invoice对应图6-2中的Component,其功能是打印发票的内容:HeadDecorator和FootDecorator是两个ConcreteDecorator,向组件中添加打印发票头和发票脚注的功能。
方法printlnvoice是Invoice中定义的接口,Component类中应定义一个与之一致的接口。这个接口在类Decorator、HeadDecorator和FootDecorator中分别进行了重新定义,分别对应代码中的空(1)~(3)。
类Decorator中保持了一个Component对象——.ticket,用来接收所要装饰的组件Invoice。因此空(1)处应填写“ticket.printlnvoice()”。类HeadDecorator和FootDecorator:是在打印发票内容的基础上,打印发票的抬头和脚注,所以空(2)、(3)处都应填写“super.printInvoice()”。
空(4)~(5)考查的是装饰模式的调用,分别应填写为“new HeadDecorator(new FootDecorator(t))”和“new HeadDecorator(new FootDecorator(null))”。
转载请注明原文地址:https://kaotiyun.com/show/RKDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
简述网络规划阶段需求分析的方法和解决的问题。(控制在100个字以内)在需求分析过程中应对已有网络的现状及运行情况作调研,如果要在已有的网络上作新的网络建设规划,如何保护用户已有投资?(控制在100个字以内)
认真阅读以下关于架构Apache安全服务器的技术说明,根据要求回答问题1至问题5。【说明】某些商务公司要求其网站的部分信息资源只对经过身份认证后的用户开放。因此在Linux+Apache架构Web服务器方案中,需利用mod-ss1模块给Apach
根据该单位防火墙与外部网络相关的网络连接参数,请将以下命令行中(1)~(4)空缺处的内容填写完整,以完成对防火墙相应的网络接口进行地址初始化的配置。FireWall(config)#ipaddressinside(1)(2)
阅读以下关于某硬件防火墙相关配置的技术说明,根据要求回答问题1至问题4。【说明】某单位在部署内部局域网时选用了一款硬件防火墙,该防火墙分别带有“WAN”、“LAN”“DMZ”、“FUN”等4个网络接口,支持Web界面、命令行等多种管理模式。该单位
依据给出的可选设备进行选型,将(1)~(5)处空缺的设备名称填写在相应位置将(6)~(8)处空缺的介质填写在相应位置(所给介质可重复选择)。
ISDN分哪几层?NT2(网络终端连接设备)提供哪两种交换功能?请说出ISDN与传统PSTN的区别。
ISDN分哪几层?NT2(网络终端连接设备)提供哪两种交换功能?如果ISDN收费是按每分钟计算,假如0.5元/分钟,采用ISDN基本速率接口下载1024k的文件需要付费多少?
ISDN分哪几层?NT2(网络终端连接设备)提供哪两种交换功能?请说出(1)的含义。
ADSL技术可以充分利用现有铜线网络,只要在用户线路两端加装ADSL设备即可为用户提供服务。请从以下术语选择适当的编号,将图5-9所示的拓扑结构中(1)~(4)空缺处的名称填写完整。【供选择的答案】A.程控交换机B.二层交换机
在如图1-23所示的网络拓扑结构图中,被路由协议可以使封装后的数据包通过互连网络进行中继传输,它由(1)使用。【供选择的答案】A.PCIB.RouterA和RouterBC.Internet网D.Rcrate
随机试题
患儿2岁,上前牙唇面和第一乳磨牙颊面和面龋损。患儿用奶瓶喂养,含奶瓶入睡,无刷牙习惯。此患儿治疗原则中哪项不正确
不属于癔症转换症状的是
(操作员:刘主管;账套:101账套;操作日期:2015年1月1日)新增供应商往来单位。单位编码:005单位名称:光明科技有限公司单位类型:无付款条件:现金所属地区:东北区
一般而言,单亲家庭的风险随能力相对较低( )
算法分析的目的是()。
秘书对文件进行筛选的目的是()。
一位科学家说:“我们今天生活着的世界,与其说是自然世界,还不如说是人造或人类世界。在我们的周围几乎每样东西都刻有人的技能的痕迹。”这段话应理解为()。
Itisamovementbuildingsteadymomentum;acalltomakeresearchdata,softwarecodeandexperimentalmethodspubliclyavailab
在树结构中,树根结点没有【】。
Theprospectsforwomenwhoarescientistsandengineersatmajorresearchuniversitieshaveimproved,althoughwomencontinuet
最新回复
(
0
)