首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件系统中,已设计并实现了用于显示地址信息的类Address(如图5—1所示),现要求提供基于。Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件系统中,已设计并实现了用于显示地址信息的类Address(如图5—1所示),现要求提供基于。Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的
admin
2017-09-13
95
问题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某软件系统中,已设计并实现了用于显示地址信息的类Address(如图5—1所示),现要求提供基于。Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可能还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该要求,得到如图5—1所示的类图。
选项
答案
(1)Address*address (2)address一>street() (3)address一>zip() (4)address一>city() (5)DutchAddress*addrAdapter=new DutchAddressAdapter(addr)
解析
本题考查Adapter(适配器)模式的基本概念和应用。
Adapter模式的设计意图是,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
Adapter模式有两种实现方式。类适配使用多重继承对一个接口与另一个接口进行匹配,其结构如图5-2所示。
对象适配器依赖于对象组合,其结构如图5-3所示。
Target定义Client使用的与特定领域相关的接口。
Client与符合Target接口的对象协同。
Adaptee定义一个已经存在的接口,这个接口需要适配。
Adapter对Adaptee的接口与Target接口进行适配。
Adapter模式适用于:
想使用一个已经存在的类,而它的接口不符合要求。
想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
(仅适用于对象Adapter)想使用一个已经存在的子类,但是不可能对每一个都进行子类化以匹配他们的接口。对象适配器可以适配它的父类接口。
本题中采用对象适配器,题中类DutchAdddressAdapter对应图5-3中的Adapter、DutchAddress对应图5-3中的Target、Address对应图5-3中的Adaptee。
由图5-3可知,在Adapter中应该有一个Adaptee的对象,因此空(1)处应该填写的是Address的对象:Address*address。
类DutchAddress的实现采用了C++中的抽象类,作为其子类DutchAddressAdapter,必须对DutchAddress中的3个纯虚拟函数进行重置,所以空(2)~(4)是在考查这3个纯虚拟函数在子类中的实现方式。由图5-3可知,Adapter中方法的实现方式还是要借助于Adaptee中所提供的行为,也就是说,DutchAddressAdapter中3个纯虚拟函数的实现与Address是密不可分的。由此可知,空(2)~(4)分别应填入:address一>street()、address一>zip()和address一>city()。
第(5)空考查Adapter模式的使用。这里调用普通函数testDutch来进行测试,这个函数要求传递DutchAddmss类型的参数,并且给出了实参的名字:addrAdatper。因此第(5)空应该填写的是addrAdapter的创建语句,这里需要使用到DutchAddress的构造函数。因此第(5)空应填写:DutchAddress*addrAdapter=new DutchAddressAdapter(addr)。
转载请注明原文地址:https://kaotiyun.com/show/hKDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1、问题2和问题3,将解答填入对应栏内。[说明]ADSL是运行在原有电话线上的一种高速宽带上网方式,具有节省投资、上网速度快与安装简单等优点。目前很多局域网、家庭上网,尤其是网吧都使用这种方式。接入方式如图6-1所示
认真阅读以下关于架构Apache安全服务器的技术说明,根据要求回答问题1至问题5。【说明】某些商务公司要求其网站的部分信息资源只对经过身份认证后的用户开放。因此在Linux+Apache架构Web服务器方案中,需利用mod-ss1模块给Apach
根据该单位防火墙与外部网络相关的网络连接参数,请将以下命令行中(1)~(4)空缺处的内容填写完整,以完成对防火墙相应的网络接口进行地址初始化的配置。FireWall(config)#ipaddressinside(1)(2)
某公司申请到的IP地址为193.136.99.0,如图7-4所示,为了便于管理,需建立4个子网(要求每个子网的掩码必须相同),请回答如下问题。
上述配置中是否有问题?请指出并说明理由。解释配置中画线部分内容含义?
依据给出的可选设备进行选型,将(1)~(5)处空缺的设备名称填写在相应位置将(6)~(8)处空缺的介质填写在相应位置(所给介质可重复选择)。
阅读以下关于以快速原型模型开发网管软件系统时的项目进度管理的叙述,回答问题1至问题5。【说明】某网络程序软件开发公司承接某项网络工程的网络流量统计管理软件开发任务。在进行可行性研究时,需要估算完成项目的时间进度。由于该软件公司近年来已经为采用快速
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
随机试题
患儿男性,1岁,主因“发现贫血6个月,发热1天”入院。入院前6个月,常规体检血常规提示:血红蛋白(Hb)87g/L,未予重视,未继续诊治。1天前患儿无明显诱因出现发热,体温最高39℃,伴流涕、咳嗽,无寒战、抽搐、喘息、呕血、黑便等其他伴随症状。血常规:外周
不同食物蛋白质的含氮量稍有不同,平均为()
复合地基中桩的直径为0.36m,桩的间距(中心距)为1.2m,当桩按正方形布置时,面积置换率为()。[2016年真题]
咨询工程师在提交咨询成果阶段的主要工作是()。
安全教育培训的主要方法有()
有关防范措施中,( )不属于质量纠纷的防范措施。
对于可行性研究表述,以下说法错误的是( )。
下列合同或凭证中,应计算缴纳印花税的有()。
调节个人和祖国之间关系的道德要求、政治原则和法律规范的是()
金融资本是由工业垄断资本和银行垄断资本融合在一起而形成的一种垄断资本。金融资本形成的主要途径包括()。
最新回复
(
0
)