首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件系统中,已设计并实现了用于显示地址信息的类Address(如图6-1所示),现要求提供基于Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件系统中,已设计并实现了用于显示地址信息的类Address(如图6-1所示),现要求提供基于Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的
admin
2017-09-13
44
问题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某软件系统中,已设计并实现了用于显示地址信息的类Address(如图6-1所示),现要求提供基于Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该要求,得到如图6-1所示的类图。
[Java代码]
import java.util.*;
class Address{
public void street() { //实现代码省略 }
public void zip() { //实现代码省略 }
public void city() { //实现代码省略 }
//其他成员省略
}
C1ass DutchAddress{
public void straat() { //实现代码省略 }
public void postcode() {//实现代码省略 }
public void plaats() {//实现代码省略 }
//其他成员省略
}
class DutchAddressAdapter extends DutchAddress {
private91);
public DutchAddressAda一3ter(Address addr){
address=addr;
}
public void straat(){
(2) ;
}
public void postcode(){
(3) ;
}
public void plaats(){
(4);
}
//其他成员省略
}
clas s Test{
public static void main(String[]args){
Address addr=new Address();
(5) ;
System.out.println(“\n The DutchAddress\n”);
testDutch(addrAdapter);
}
static void testDutch(DutchAddress addr){
addr.straat();
addr.postcode();
addr.plaats();
}
}
选项
答案
(1)Address address (2)address.street() (3)address.zip() (4)address.city() (5)DutchAddress addrAdapter=new DutchAddressAdapter(addr)
解析
本题考查Adapter(适配器)模式的基本概念和应用。
Adapter模式的设计意图是,将一个类的接口转换成客户希望的另外一个接口。
Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
Adapter模式有两种实现方式。类适配使用多重继承对一个接口与另一个接口进行匹配,其结构如图6—2所示。
对象适配器依赖于对象组合,其结构如图6.3所示。
Target定义Client使用的与特定领域相关的接口。
Client与符合Target接口的对象协同。
Adaptee定义一个已经存在的接口,这个接口需要适配。
Adapter对Adaptee的接口与Target接口进行适配。
Adapter模式适用于:
想使用一个已经存在的类,而它的接口不符合要求。
想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
(仅适用于对象Ad印ter)想使用一个已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口。
本题中采用对象适配器,题中类DutchAdddressAdapter对应图6—3中的Adapter、DutchAddress对应图6.3中的Target、Address对应图6-3中的Adaptee。
由图6.3可知,在Adapter中应该有一个Adaptee的对象,因此空(1)处应该填写的是Address的对象:Address address。
空(2)~(4)考查父类中的3个方法在子类DutchAddressAdapter的实现方式。由图6.3可知,Adapter中方法的实现方式还是要借助于Adaptee中所提供的行为,也就是说,DutchAddressAdapter中3个方法的实现与Address是密不可分的。由此可知,空(2)~(4)分别应填入:address.street()、address.zip()和address.city()。
第(5)空考查Adapter模式的使用。这里使用方法testDutch来进行测试,这个方法要求传递DutchAddress类型的参数,并且给出了实参的名字:addrAdatper。因此第(5)空应该填写的是addrAdapter的创建语句,这里需要使用到DutchAddress的构造函数。因此第(5)空应填写:DutchAddress addrAdapter=new DutchAddressAdapter(addr)。
转载请注明原文地址:https://jikaoti.com/ti/gMi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
从工作的频段、数据传输速率、优缺点以及它们之间的兼容性等方面,对IEEE802.11a、IEEE802.11b和IEEE802.11g进行比较。简述WLAN用户通过RADIUS服务器登录的过程。
从工作的频段、数据传输速率、优缺点以及它们之间的兼容性等方面,对IEEE802.11a、IEEE802.11b和IEEE802.11g进行比较。1.将(1)处空缺设备的名称填写在相应位置。
PGP协议采用RSA和IDEA两种加密算法组成链式加密体系,这种方案的优点是(1)。PGP还可以对电子邮件进行认证,认证机制是用MD5算法产生(2)位的报文摘要,发送方用自己的RSA私钥对(3)进行加密,附加在邮件中进行传送。公钥只用来加密(4),文件是用
根据该单位防火墙与外部网络相关的网络连接参数,请将以下命令行中(1)~(4)空缺处的内容填写完整,以完成对防火墙相应的网络接口进行地址初始化的配置。FireWall(config)#ipaddressinside(1)(2)
根据该单位防火墙与外部网络相关的网络连接参数,请将以下命令行中(1)~(4)空缺处的内容填写完整,以完成对防火墙相应的网络接口进行地址初始化的配置。FireWall(config)#ipaddressinside(1)(2)
请说出(1)、(2)、(3)、(4)、(5)对应行的含义。(1)图6-3是Windowsxp的DNS设置窗口,请指出图6-3中配置错误之处。(2)在Windowsxp系统中,根据图6-3中的相关信息,请写出默认路由。(3)图6-
请用100字以内的文字说明该网管软件项目采用快速原型开发方法的优缺点。在最理想和保守的估计中加速开发进度要着重抓的共同环节是哪些?请用50字以内的文字加以说明。
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。按照G.lite的最高速率标准,上传24MB的文件需要多少秒时间?
随机试题
城市形象不是_________的,它会随着一座城市的发展需要而产生相应的变化,因此,对于城市形象的研究也应当_________。依次填入画横线部分最恰当的一项是:
关于妊娠糖尿病的叙述哪个不对
首先诊断可能为最恰当的处理是
泽泻具有的功效是
具有投资少、风险小、周期短、收益高等项目诉求的利益相关方是()。
对于每项资产来说,风险与投资收益率的关系可正确表示为( )。
请你根据古代纪年、纪月、记时的有关知识解释下面问题。古代记月,用“孟、仲、季”分别记一年四季中的三个月,仲春、季夏、仲秋、孟冬依次指农历的_______月、_______月、_______月、_______月。
Ispenthalfanhour()thisdifficultmathproblem.
A、Thetimeisfast.B、Thankyouverymuch.C、Itistoolate.D、No,I’msorry.Idon’thaveawatch.DCanyoupleasetellmethe
BanSugaryDrinks—ThatWillAddFueltotheObesityWarA)OnatrainlastThursday,Isatoppositeamanwhowassofathefille
最新回复
(
0
)