首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 [说明] 在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(连不用的功能)都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 [说明] 在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(连不用的功能)都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此
admin
2013-01-05
50
问题
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。
[说明]
在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(连不用的功能)都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此常将程序设计成到了实际要使用某种功能的阶段才初始化该功能。
以下示例展示了Proxy(代理)模式,PrinterProxy类执行一些比较“轻”的方法——设置名称和取得名称,需要真正执行“重”的方法——真正打印——时才初始Print类。图6-1显示了各个类间的关系。
[图6-1]
[Java代码]
//Printable.Java
publiC (1) Printable{
public abstract void setPrinterName(String name);
public abstract String getprinterName();
public abstract void print(String string);
}
//Printer.Java
public class Printer implements Printable{
private String name;
public Printer(){
System.out.println("正在产生Printer的对象实例");
}
public Printer(String name){
this.name=name;
heavyJob("正在产生Printer的对象实例("+name+")");
public void setPrinterName(String name){
this.name=name;
public String getPrinterName(){
return name;
public void print(String string){
System.out.println("===" +name+" ====");
System.out.println(string);
}
}
//PrinterProxy.Java
public class PrinterProxy (2) Printable{
private String name;
private Printer real;
public PrinterProxy(){}
public PrinterProxy(String name){
this.name=name;
}
public gynchronized void setPrinterName(String name){
if( (3) ){
real.setPrinterName(name);
}
this.name=name;
}
public String getprinterName(){
return name;
}
public void print(String string){
(4);
real.print(string);
}
private synchronized void realize(){//产生真正的Printer对象
if(real==null){
real=(5);
}
}
}
(5)
选项
答案
new Printer(name)
解析
在Java中,interface和abstract class均能包含抽象方法,“类是用来继承的(extends),接口是用来实现的(implements)。”由类Printer的声明可判知Printable应为接口,故空(1)应填interface。
因Printable是一个接口,故空(2)应填implements。该空比较简单。
real是一个引用,调用之前当然得先判断real是否为空,只有不是空才能进行调用,否则将出现不可预期的结果,因此空(3)应填real !-NULL。
在执行打印时,需要保证已经正确生成了real对象,否则打印将无法完成,这也正是Proxy的核心所在,到真正需要打印时,才生产real对象,因此空(4)应填realize()。
real是Printer对象引用,空(5)是生成一个Printer对象,注意Printer类的构造函数是Printer(string name),故应填new Printer(name)。顺便说一下,生成real对象时,进行Treal是否为空的判断,并将方法realize()声明为synchronized,这是为了避免生成多个real对象,有一个即可。
转载请注明原文地址:https://kaotiyun.com/show/UYDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某软件系统无需在线容错,也不能采用冗余设计,如果对可靠性要求较高,故障有可能导致严重后果,一般采用()。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。①处应填入?
在计算机外部设备和主存之间直接传送而不是由CPU执行程序指令进行数据传送的控制方式称为(5)________________。
网络杀毒软件厂商已经开始使用数据库技术和LDAP技术进行策略日志存储和用户管理,这里LDAP指的是______。A.轻量目录访问协议B.本地目录访问协议C.轻量数据访问协议D.本地数据访问协议
反映Web应用客户端交易处理性能的评估指标有(59)。 ①并发用户数 ②交易响应时间 ③交易通过率 ④吞吐量 ⑤点击率
在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理解,正确的是(64)
通用的风险分析表应包括()。(54)①风险问题②发生的呵能性③影响的严重性④风险预测值⑤风险优先级
确定测试基线属于()活动。
能够主动采集信息,分析网络攻击行为和误操作的实时保护策略是指(64)。
以下关于建立良好的程序设计风格的叙述中,正确的是()。
随机试题
现代营销认为,企业发展的关键是()
梯度磁场在MR成像过程中的作用是
男,32岁。近一年来出现尿频、尿急、尿痛症状,经抗感染治疗不见好转,尿常规检查可见少量尿蛋白、白细胞和少量红细胞,尿液呈酸性。最可能的疾病是
我国产业技术政策和措施包括()。
2013年年末,盛润公司主管财务会计工作的副总经理王某召集财务部部长李某及相关人员开会,重点研究2013年财务决算的相关事宜,同时财务部汇报几项工作,由领导决定。以下是会议期间的部分发言:王某:受金融危机的影响,公司今年的内销及外销均大
某建材商店(小规模纳税人)2015年3月销售给某大型建材公司建材一批,收取全部价款为131200元,税务机关代开专用发票;当月货物购进时取得增值税专用发票上注明价款为16000元,则该建材商店本月应纳增值税税额为()元。
罕见病是一种患病率极低的病,但由于种类很多,而我国人口基数庞大,因此并不罕见。下列选项中,俗称“瓷娃娃”的是()。
归纳推理是以个别性知识为前提而推出一般性知识为结论的推理。完全归纳推理是根据某类事物中每一对象都具有某种属性,推出该类事物对象都具有某种属性的推理。不完全归纳推理是根据一类事物中的部分对象具有某种属性,推出该类事物对象都具有某种属性的推理。根据上述
(2009年试题,一)设随机变量X的分布函数为其中φ(x)为标准正态分布函数,则E(X)=().
(2005上项管)下列关于项目组合管理的叙述,______是不恰当的。
最新回复
(
0
)