首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 [说明] 在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(连不用的功能)都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。 [说明] 在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(连不用的功能)都要全面初始化的话,会连带影响到应用软件要花很多时间才能启动。因此
admin
2013-01-05
51
问题
阅读以下说明和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://www.kaotiyun.com/show/UYDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下关于结构化开发方法的叙述中,不正确的是()。
采用________________表示带符号数据时,算术运算过程中符号位与数值位采用同样的运算规则进行处理。
软件风险一般包含(14)两个特性。
用边界值分析法,假定X为整数,10≤X≤100,那么X在测试中应该取(40)边界值。
在输入输出控制方法中,采用______可以使得设备与主存间的数据块传送无需CPU干预。A.程序控制输入输出B.中断C.DMAD.总线控制
在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理解,正确的是(64)
在软件开发过程中,常采用图形表示相关的信息,(28)不用于表示软件模块的执行过程。
函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值(callbyvalue)方式,第二个参数采用传引用(callbyreference)方式,main()执行后输出的值为_______。
阅读以下说明,回答问题1至问题3,将解答填入解答栏内。【说明】某公司租用了一段C类地址203.12.11.0/24~203.12.14.0/24,如下图所示。其网间地址是172.11.5.14/24。要求网内所有PC都能上网。
随机试题
内环境是指
A.开口度正常B.开口过大呈半脱位C.中度开口受阻D.弹响及半脱位E.轻度开口受限翼外肌功能亢进的主要症状是
根据《刑事诉讼法》第194条的规定,在法庭审判过程中,如果诉讼参与人或者旁听人员违反法庭秩序,审判长应当警告制止。对不听制止的,可以强行带出法庭;情节严重的,处以1000元以下的罚款或者15日以下的拘留。关于此处的“拘留”与刑事强制措施中的“拘留”的异同,
债权人决策贷款与否,以及投资人确定融资方案,主要依据是项目()。
2019年7月1日,人民法院受理债务人甲公司的破产申请,并指定某律师事务所担任管理人。第一次债权人会议上,管理人将甲公司的有关情况进行了汇报。全部财产的变现价值为2000万元。欠发职工工资200万元、欠交税款100万元;管理人于7月15日解除了甲公司与丙公
下列说法中,正确的有()。
审理保证金赔偿案件遵循的原则是()
有的学生平时易受暗示,屈从于权威,按照他人的意见办事,不善于适应紧急情况,这类学生的性格类型属于()
Let’sstartworkingontheproject,()?
Sincewearesocialbeings,thequalityofourlivesdependsinlargemeasureonourinterpersonalrelationships.Onestrengtho
最新回复
(
0
)