首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Jrdva代码,将应填入(n)处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOr
阅读以下说明和Jrdva代码,将应填入(n)处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOr
admin
2010-12-17
33
问题
阅读以下说明和Jrdva代码,将应填入(n)处的字句写在对应栏内。
[说明]
在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据。图6-1显示了各个类间的关系。以下是Java语言实现,能够正确编译通过。
[图6-1]
[Java代码]
//Component.java文件
public (1) class Component {
abstract publ ic void prtTicket();
}
//salesTicket.java文件
public class SalesTicket extends Component{
public void prtTicket(){
//Sales ticket printing code here
System.out.printin("SalesTicket");
}
}
//Decorator.java文件
publ ic abstract class Decorator extends Component{
public void prtTicket(){
if(myComp!=null)myComp.prtTicket();
}
private (2) myComp;
public Decorator(Component myC){
myComp=myC;
}
}
//Footer.java文件
public class Footer extends Decorator {
public Footer(Component myC){
(3);
}
public void prtTicket(){
(4);
prtFooter();
}
publ ic void prtFooter(){
//place printing footer code here
System.out.println("Footer");
}
}
//salesorder.java文件
public class SalesOrder{
void prtTicket(){
Component myST;
myST=new Footer( (5) );
//Print Ticket with footers as needed
myST.prtTicket();
}
}
(5)
选项
答案
new SalesTicket()
解析
方法prtTicket()声明为abstract,即是抽象方法,故Component类应为抽象类,因此空(1)应填abstract。
由Decorator构造函数以及类图可知,Decorator包含一个Component对象引用,故空(2)应填Component。
函数Footer(Component *myC)是Footer类的构造函数,故空(3)处是对基类的构造,因此空(3)应填super(myC)。
Footer类的prtTicket0方法是先打印“基本”票据,再打印脚注。因此空(4)是打印“基本”票据,Footer类是Decorator的子类,故应先调用基类的打印方法,在此应填super.prtTicket()。super是对基类的引用。
参照Footer类的参照函数,空(5)应为一个Component对象指针,这里是要打印带脚注的票据,故此处应填new SalesTicket()。
转载请注明原文地址:https://kaotiyun.com/show/zqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
采用折半查找算法有序表{7,15,18,21,27,36,42,48,51,54,60,72}中寻找值为15和38,分别需要进行______次元素之间的比较。
某系统中有一个中央数据存储,模块A负责接收新来的数据并修改中央数据存储中的数据,模块B负责访问中央数据存储中的数据,则这两个模块之间的耦合类型为________________。若将这两个模块及中央数据合并成一个模块,则该模块的内聚类型为_________
下面关于防火墙功能的说法中,不正确的是(6)。
软件测试使用各种术语描述软件出现的问题,以下叙述正确的是______。A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希望或不
导致软件缺陷的原因有很多,①~④是可能的原因,其中最主要的原因包括(55)。①软件需求说明书编写的不全面,不完整,不准确,而且经常更改。②软件设计说明书。③软件操作人员的水平。④开发人员不能很好的理解需求说明书和沟通不足。
某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测
在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编辑和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了()过程模型。
以下关于测试工作在软件开发各阶段作用的叙述中,不正确的是()。
测试记录包括、(64)。①测试计划或包含测试用例的测试规格说明。②测试期间出现问题的评估与分析。③与测试用例相关的所有结果,包括在测试期间出现的所有失败。④测试中涉及的人员身份。
关于软件测试,(31)的叙述是正确的。①测试开始越早,越有利于发现软件缺陷②采用正确的测试用例设计方法,软件测试可以做到穷举测试③测试覆盖度和测试用例数量成正比④软件测试的时间越长越好
随机试题
某公司所有的销售人员都是男性,所有的文秘都是女性,所有的已婚者都是文秘,公司的总经理尚未结婚。据此,我们可以知道()。
下列关于虫类药在痹证治疗中的用法哪项不正确
关于结核性脑膜炎的前驱期错误的是
被告人因涉嫌抢劫被人民检察院依法提起公诉。人民法院对人民检察院的起诉进行审查以后决定开庭审理,下列哪些做法是不符合刑事诉讼法相关规定的?
张某被人民法院判处有期徒刑3年,在判决确定前,张某并没有被羁押,在判决生效后,由哪个机关负责对张某的羁押以及交付执行?()
折扣
债券发行者在到期时不能按约定足额支付本金或利息的风险而给予债权人的补偿是()。
住在光荣院的老高平日里一个人待在房间,不与光荣院的其他人有什么交往,最近胃病复发,没有人照顾,没有人重视,萌生了自己被社会遗弃了的感觉。老高有()方面的需要。
班主任对学生进行操行评定时应慎用的评定等级是()。
“只见树木,不见森林;只见局部,不见整体”这是形而上学观点。()
最新回复
(
0
)