首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer和Access两种数据库以及系统中的数据库表Depanment为例,其类图如图17—3所示。 [Java代码] import java.util
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer和Access两种数据库以及系统中的数据库表Depanment为例,其类图如图17—3所示。 [Java代码] import java.util
admin
2014-11-13
63
问题
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL SerVer和Access两种数据库以及系统中的数据库表Depanment为例,其类图如图17—3所示。
[Java代码]
import java.util*;
clasS Department(/*代码省略*/)
interface IDepartment(
(1) ;
(2) ;
}
class SqlserVerDepar七men七: (3) {
public:
void Insert(Department department){
System.out.print in(”Insert a record into Department in SQL Server\n”);
//其余代码省略
}
publ i c Department GetDepar七men七(int id)<
/*代码省略*/
}
}
Class AccessDepartment: (4) {
public void Insert(Department department){
system.out.print in(”Insert a record into Department in ACCESS I\n”};
//其余代码省略
}
public Department GetDepar七ment(int id)(
/*代码省略*/
}
};
(5) {
(6) ;
}
class SqlSerVerFac七ory implementS IFactory(
public 工Department CreateDepartment()(
re turn new Sqls erverDepartment();
}
//其余代码省略
};
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 CreateDepartmento
解析
本题考查抽象工厂设计模式的概念及其应用。其类图如图17—4所示。
抽象工厂设计模式的意图是:提供一个创建一系列相关或相互依赖的对象,而无须指出它们具体的类。在如下情况下应当考虑使用抽象工厂模式:
当一个系统要独立于它的产品的创建、组合和表示时;
当一个系统要由多个产品系列中的一个来配置时:
当需强调一系列相关的产品对象的设计以便进行联合使用时;
想提供一组对象而不显示它们的实现过程,只显示它们的接口时。
抽象工厂设计模式的类图如下所示,其中:
AbstractFactory抽象工厂,声明抽象产品的方法。
ConcreteFaCtory为具体工厂,执行生成抽象产品的方法,生成一个具体的产品。
AbstractProduct为抽象产品,为一种产品声明接口。
Product为具体产品,定义具体工厂生成的具体产品的对象,实现产品接口。
图17—3中的IFactory对应类图中的AbstractFactory,Sqlserverfactory和Accessfactory对应类图中的ConcreteFactory,SqlserverDepartment和AccessDepartment对应类图中的Product,而IDepartment对应类图中的AbstractProduct。
空(1)和空(2)考查接12]IDepartment中方法的定义。由其子类SqlserverDepartment和AccessDepartment中方法的定义,可知空(1)处应填入void Insert(Department department),空(2)处应填入Department GetDepartment(int id)。
空(3)和空(4)考查接口IDepartmentl~实现。接口的实现是在一个类的声明中使用关键字“implements”来表示该类使用某个已经定义的接口,然后即可在该类体中使用接口中定义的常量,而且必须实现接口中定义的所有方法。因此,空(3)和空(4)都应填入implements IDepartment。
由于所给程序中缺少接口IFactory的定义,因此空(5)处应为定义接ElIFactory,应填入interface IFactory。由于类Sqlserverfactory和Accessfactory中必须实现接口Ifactory 定义的所有方法,观察这两个类中的方法可知,空(6)处应填入IDepartment CreateDepartment0。
转载请注明原文地址:https://kaotiyun.com/show/GpDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。Ca
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
销售部的网络号是(1),广播地址是(2):技术部的网络号是(3),广播地址是(4);每个子网可用的IP地址有(5)个。在网关计算机/etc/sysconfig/network-scripts/目录中有以下文件,运行某命令可以启动网络,该命令是(9),其
销售部的网络号是(1),广播地址是(2):技术部的网络号是(3),广播地址是(4);每个子网可用的IP地址有(5)个。Linux网关计算机有两个网络接口(eth0和eth1),每个接口与对应的子网相连接。该计算机/etc/sysconfig,/
请阅读下列SwitchA的配置信息,并在(1)~(5)处解释该语句的作用。Switch>enable(进入特权模式)Switch#configterminal(进入配置模式)Switch(config)#hostnameSwi
阅读以下说明,回答问题1至问题5。【说明】某网络拓扑结构如图3-1所示,DHCP服务器分配的地址范围如图3-2所示。
阅读以下说明,回答问题1至问题4。【说明】某学校欲构建校园网,根据实际情况,计划在校园总部采用有线网络和无线网络相结合的接入方式,校园分部通过Internet采用VPN技术与校园总部互联,该校园网的网络拓扑结构如图1-1所示。
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
随机试题
________,夜雨闻铃肠断声。
药学服务的执行者临床药学的执行者
判断慢性胃炎是否属活动性的病理依据是
邱应海入室盗窃郑国荣彩电,刚出门口装车时被外出回来的郑国荣妻子发现。郑国荣妻子认识邱应海,问邱应海为何搬走彩电。邱应海谎称郑国荣欠其3000元钱未还,故要搬走彩电。郑国荣妻子说,如果郑国荣借钱未还,等郑国荣回来再说,邱应海不理睬,开车带着彩电离开。邱应海构
在进行直方图分部位置的观察分析时,如果质量特性数据的分布集中且边界与质量标准的上下界限有较大距离,说明生产过程的质量能力()。
下列关于办理支付结算的表述中,符合法律规定的有()。
《刑法》第236条规定:“以暴力、胁迫或者其他手段强奸妇女的,处三年以上十年以下有期徒刑。奸淫不满十四周岁的幼女的,以强奸论,从重处罚。强奸妇女、奸淫幼女,有下列情形之一的,处十年以上有期徒刑、无期徒刑或者死刑:(一)强奸妇女、奸淫幼女情节恶劣的;
下面程序运行时输出结果为__________。#include#includeclassRect{public:Rect(int1,intw){length=l;width=w;)
A、Itisinthetoilet.B、Itisnotinthetoilet.C、Itisinthefirstfloor.D、Itisinthethirdfloor.A
A、Agreatcharacterinhistory.B、Atheatricalroleinaplay.C、AspecialsymbolinNovell.D、Animaginarypersoninafiction.
最新回复
(
0
)