首页
登录
从业资格
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
最全题库
2022-08-02
74
问题
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图5-1所示。
图5-1类图【C++代码】#include<iostream>using namespace std;class Department{/*代码省略*/};class IDepartment{public:(1)=0;(2)=0;};class SqlserverDepartment:(3){public:void Insert(Department*department){cout<<"Insert a record into Department in SQL Server!\n";∥其余代码省略}Department GetDepartment(int id){/*代码省略*/}};class AccessDepartment:(4){public:void Insert(Department*department){cout<<"Insert a record into Department in ACCESS!\n";∥其余代码省略}Department GetDepartment(int id){/*代码省略*/}};(5){public:(6)=0;};class SqlServerFactory:public IFactory{public:IDepartment*CreateDepartment( ){return new SqlserverDepartment( );}∥其余代码省略};class AccessFactory:public IFactory{public:IDepartment*CreateDepartment( ){return new AccessDepartment( );}∥其余代码省略};
选项
答案
解析
(1)virtual void Insert(Departmet*department)
(2)virlual Department GetDepartment(int id)
(3)public IDepartment
(4)public IDepartmcnt
(5)class Ifactory
(6)virtual IDcpartment*CreateDepartment()
本题考查基本面向对象设计模式的运用能力。
抽象工厂设计模式主要是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。从题目给出的类图可知SqlserverDepartment和AccessDepartment继承于Idepartment。而从第(1)和第(2)空处的程序语句可以知道,这里是定义纯虚函数,而类Idepartment一个抽象类,而在这里需要定义一个什么样的纯虚函数,就需要根据SqlserverDepartment和AccessDepartment类的内容来了解。在这两个类里面都有Insert和GetDepartment这两个函数,因此在Idepartment类中定义的纯虚函数就是这两个函数,因此第(1)空应该填virtual void Insert(Departmet*department),而第(2)空应该填virlual Department GetDepartment(int id)。
第(3)空和第(4)空是一样的,因为类SqlserverDepartment和AccessDepartment都是继承抽象类Idepartment,而一般情况下的继承方式都是public,所以这两空的答案都是public Idepartment。
从第(5)空出现的位置,不难知道这里是定义一个类,结合前后程序,可以知道这里定义的类是Ifactory,这是一个抽象类,因此该空的答案为class Ifactory。
第(6)空是定义抽象类Ifactory的纯虚函数,从后面的程序可以看出,需要定义的纯虚函数是CreateDepartment,因此第(6)空的答案是virtual IDcpartment*CreateDepartment()。
转载请注明原文地址:https://tihaiku.com/congyezige/2410308.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
IT组织结构的设计主要受到四个方面的影响和限制,包括客户位置、IT员工工作地点、
系统管理预算可以帮助IT部门在提供服务的同时加强成本/收益分析,以合理地利用IT
某公司员工赵忻是一名软件设计师,按公司规定编写软件文档需要上交公司存档。这些软件
王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档。以下有关该软
李某未经许可擅自复制并销售甲公司开发的财务管理软件光盘,已构成侵权。乙公司在不知
应用软件开发项目执行过程中允许对需求进行适当修改,并对这种变更进行严格控制,充分
()清楚地描述了测试各阶段和开发各阶段的对应关系。A.瀑布模型 B.迭代模型
信息系统项目生命周期模型中的()适用于需求明确或团队具备行业经验,并开发过类似
结构化开发中,数据流图是__()__阶段产生的成果。A.总体设计 B.程序编
从生命周期的观点来看,无论硬件或软件,大致可分为规划和设计、开发(外购)和测试、
随机试题
[originaltext]Ifyouvisitabigcityanywhereintheworld,youwillproba
水电站电气设备主要布置于发电厂厂房和升压变电站内,其作用不包括( )。A.生产.
负责全国建筑业企业资质的统一监督管理的部门是()。A.住房和城乡建设部 B
2014年一季度世界粗钢总产量是多少万吨?() A.20270 B.35
根据上述资料,下列说法不正确的是:() A.2013年在该省规模以上工业中
加速第一次世界大战结束的根本原因是()A.参战国革命运动高涨 B.美国后期参
女性,40岁。棍棒击中右小腿中部,X线片示胫腓骨中1/3双骨折,给手法复位长腿石
工信部近日发布的《互联网网站适老化通用设计规范》和《移动互联网应用(APP)适老
下列选项中的行为符合银行从业人员礼物收送规则的是( )。A.向主管部门领导私下
学校教育产生于()。 A.奴隶社会初期B.奴隶社会末期 C.封建社会初期
最新回复
(
0
)