首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2012年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两
(2012年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两
admin
2018-07-27
46
问题
(2012年下半年下午试题六)阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图10.25所示。
【Java代码】
import java.util.*;
class Department{/*代码省略*/}
interface IDepartment {
______(1);
______(2);
}
class sq1serverDepartment: ______(3) {
public:
void Insert(Department department){
System.out.println(’’Insert a record into Department in SQL Server!\n’’);
//其余代码省略
}
public Department GetDepartment(int id){
/*代码省略*/
}
}
class AccessDepartment: ______(4) {
public void Insert(Department department){
System.out.println(’’Insert a record into Department in ACCESS!\n’’);
//其余代码省略
}
public Department GetDepartment(int id){
/*代码省略*/
}
};
______(4) {
______(6);
}
class Sq1ServerFactory implements IFactory{
public IDepartment CreateDepartment(){
return new Sq1serVerDepartment();
}
//其余代码省略
};
class AccessFactory implements IFactory {
public IDepartment CreateDepartment(){
return new AccessDepartment();
}
//其余代码省略
};
选项
答案
(1)void Insert(Department department) (2)Department GetDepartment(int id) (3)implements IDepartment (4)implements IDepartment (5)interface Ifactory (6)IDepartment CreateDepartment()
解析
本题考查抽象工厂设计模式的概念及其应用。
抽象工厂设计模式的意图是:提供一个创建一系列相关或相互依赖的对象,而无须指出它们具体的类。在如下情况下应当考虑使用抽象工厂模式。
当一个系统要独立于它的产品的创建、组合和表示时。
当一个系统要由多个产品系列中的一个来配置时。
当需要强调一系列相关的产品对象的设计以便进行联合使用时。
当想提供一组对象而不显示它们的实现过程,只显示它们的接口时。
抽象工厂设计模式的类图如图10.26所示,其中:
Abstractory为抽象工厂,声明抽象产品的方法;
ConcreteFactory为具体工厂,执行生成抽象产品的方法,生成一个具体的产品;
ProductA和ProductB为抽象产品,为一种产品声明接口;
ProductA1/A2/B1/B2为具体产品,定义具体工厂生成的具体产品的对象,实现产品接口。
图10.25中的IFactory对应图10.26中的Abstractory,Sq1serverFactory和AccessFactory对应图10.26中的ConcreteFactory,SqlserverDepartment和AccessDepanment对应图10.26中的ProductA1/A2/B1/B2,而IDepartment对应图10.26中的ProductA和ProductB。
空(1)处和空(2)处考查接口IDepartment中方法的定义。由其子类Sq1serverDepartment和AccessDepanment中方法的定义,可知空(1)处应填入void Insert(Department department),空(2)处应填入Department GetDepartment(int id)。
空(3)处和空(4)处考查接口IDepartment的实现。接口的实现是在一个类的声明中使用关键字“implements”来表示该类使用某个已经定义的接口,然后即可在该类体中使用接口中定义的常量,而且必须实现接口中定义的所有方法。因此,窄(3)处和空(4)处都应填入implements IDepartment。
由于所给程序中缺少接口IFactory的定义,因此空(5)处应为定义接口IFactory,应填入interface IFactory。由于类Sq1serverFactory和AccessFactory中必须实现接口IFactory中定义的所有方法,观察这两个类中的方法可知,空(6)处应填入IDepartment CreateDepartment()。
转载请注明原文地址:https://kaotiyun.com/show/szxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
请问无线局域网的工作模式有哪几种?常见的无线网络协议有哪些?
从图7-1中可以看出采用什么拓扑结构与设计方法?为了进一步简化系统,有人建议把“电脑模块”与“电话模块”合成一个模块,其传输介质共用,这可以实现吗?
从图7-1中可以看出采用什么拓扑结构与设计方法?上述拓扑结构的特点是什么?
阅读以下有关网络设计的叙述,分析网络结构,回答问题1、问题2和问题3。某企业从20世纪50年代中期开始使用PC,历经3+网络、NOVELL网络的应用,后着手组建企业网络。经过需求分析和论证,设计出网络方案如图3-2所示。
请用蒙特卡罗错误随机植入模型估算出被测程序模块中将会遗留下多少个未被发现的隐藏错误。请简要列出计算式子及计算过程。信息部门的吴总工程师向谢工程师建议了另一种测试方案作为“错误随机植入”测试方法的补充。即由A和B两组测试人员同时相互独立地测试同一份宽带路
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
认真阅读下列有关Linux操作系统环境下配置Apache服务器的技术说明,根据要求回答问题1至问题5。【说明】随着电子商务日益普及,A公司建构了一台装有RedhatLinux9.0操作系统的虚拟服务器,为各类客户提供网上架构商务站点的Web服
为了便于用户下载相关资料,特安装一台FTP服务器,其服务器端软件是Serv-U,假如要增加一个名为CIU10009的用户,对应目录为D盘,且要求加密,在图6-4中怎么设置?假如用户人数达到1000,为了保证100个用户同时正常下载,请问在图6-4中怎么
在图8-12所示的拓扑结构中的代理服务器上依次单击“开始→程序→管理工具→路由与远程访问,并在系统弹出的界面中打开“IP路由选择”目录树,然后用鼠标右键单击“NAT/基本防火墙”,选择[新增接口]命令。接着若选择接口1的“本地连接”,最后进行如图8-13所
随机试题
甲、乙两厂一直共同生产A产品至今。由于该产品在国外畅销,且受国内用户欢迎,甲乙两厂均各自安排生产一部分产品供应国内市场。数月前,乙在报纸上刊登一则声明。在声明中,乙称:A产品商标已在商标局注册。为维护A产品商标信誉和乙的合法权益,现要求未经乙同意的
下列教材中的作品,哪一首诗属于七律()
A.肺性发绀B.心性混血发绀C.淤血性发绀D.缺血性发绀E.混合性发绪缩窄性心包炎可见
患者,男,76岁。患“高血压”10余年,今春自觉经常头晕耳鸣,腰膝无力,走路轻飘飘不平稳今晨起床后突然眩晕仆倒,左半身无力不能行走,口眼喁斜,语言謇涩,舌红苔腻,脉弦滑。辨证为()
提插补泻法中,泻法的操作手法是()
路基填土不得使用()和盐渍土。
无风险利率γF是由时间创造的,是对承担风险δρ的补偿。( )
下列关于国家住房公积金的说法,正确的是()。
侦查人员在现场传唤犯罪嫌疑人,应当遵循以下哪些规定?()
《原道觉世训》
最新回复
(
0
)