首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件系统中,已设计并实现了用于显示地址信息的类Address(如图6-1所示),现要求提供基于Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件系统中,已设计并实现了用于显示地址信息的类Address(如图6-1所示),现要求提供基于Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的
admin
2017-09-13
92
问题
阅读下列说明和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://kaotiyun.com/show/mKDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]Web服务器是在网络中为实现信息发布、资料查询、数据处理等诸多应用搭建基本平台的服务器。处理Web页面大致可分为3个步骤,原理如图8-2所示,域名是www
简述网络规划阶段需求分析的方法和解决的问题。(控制在100个字以内)在网络规划阶段“系统可行性分析和论证”的主要内容是什么?(控制在100个字以内)
在Internet上捕获并分析图8-16所示的网络中两个内部网络经由Internet通信的L2TPv2数据帧,请从以下4个选项中选择正确的答案填写到图8-17的(1)~(4)空缺处的相应位置。【供选择的答案】A.L2TPv2头
如果在网络设计过程中划分了很多VLAN,则可采用VTP来简化其管理。交换机管理IP地址只能创建在(1)中,而VTP信息只能在(2)端口上传播。共享相同VLAN数据库的交换机构成一个(3)。不同交换机平台、不同的IOS版本支持的VLAN数量不同,从图6-18
某公司申请到的IP地址为193.136.99.0,如图7-4所示,为了便于管理,需建立4个子网(要求每个子网的掩码必须相同),请回答如下问题。
依据给出的可选设备进行选型,将(1)~(5)处空缺的设备名称填写在相应位置将(6)~(8)处空缺的介质填写在相应位置(所给介质可重复选择)。
阅读以下说明,回答【问题1】~【问题4】,将解答填入空白处。【说明】某小型单位的网络图如图5所示,Cisco路由器有ISDN模块,单位通过ISDN连接Internet。ISDN是指近年来供最终用户使用的一套数字服务,包括电话网络的数字化,以便ISP
阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。【说明】可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanO
双绞线可以制作成直连线和交叉线两种形式,在图3-12所示的拓扑结构中,交换机与路由器(Router)相连的双绞线应制作成什么形式?利用IEEE802.1QVLAN中继协议进行不同VLAN之间数据的路由时,需要在原有的以太网帧中加入4字节的IEEE
随机试题
有一个多道程序设计系统,采用不允许移动的可变分区方式管理主存中的用户空间,设用户空间为100KB,主存空间的分配算法为最先适应分配算法,作业调度和进程调度均采用先来先服务算法,作业序列为:请计算以上5个作业的平均周转时间。(注:作业是依次进入输入井的,
关于脑脓肿的描述,下列哪一项不对
小儿结核性脑膜炎中期主要临床表现为
大海公司2015年12月10日收到客户预付的款项200万元,会计上2015年未确认收入,按税法规定该笔预收款项应计入2015年应纳税所得额。则2015年12月31日,该笔预收账款的计税基础为()万元。
东达股份有限公司是增值税一般纳税人,2018年有关资料如下:(1)1月1日部分总账及其所属明细账余额如表所示:注:①该公司未单独设置“预付账款”会计科目。②表中长期借款为2017年10月1日从银行借入,借款期限2年,年利率为5%,每年付息一次、到期
公元1038年,女真族的首领李元昊在此建立了西夏王朝。()
ISO10015关注的焦点是()。
影响性格形成的因素有哪些?
StopEatingTooMuch"Cleanyourplate!"and"Beamemberoftheclean-plateclub!"JustabouteverykidintheUShasheard
Howmenfirstlearnedtoinventwordsis(31);inotherwords,theoriginoflanguageisamystery.Allwereallyknowisthatm
最新回复
(
0
)