首页
登录
从业资格
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
最全题库
2022-08-02
83
问题
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以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://www.tihaiku.com/congyezige/2410308.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
IT组织结构的设计主要受到四个方面的影响和限制,包括客户位置、IT员工工作地点、
系统管理预算可以帮助IT部门在提供服务的同时加强成本/收益分析,以合理地利用IT
某公司员工赵忻是一名软件设计师,按公司规定编写软件文档需要上交公司存档。这些软件
王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档。以下有关该软
李某未经许可擅自复制并销售甲公司开发的财务管理软件光盘,已构成侵权。乙公司在不知
应用软件开发项目执行过程中允许对需求进行适当修改,并对这种变更进行严格控制,充分
()清楚地描述了测试各阶段和开发各阶段的对应关系。A.瀑布模型 B.迭代模型
信息系统项目生命周期模型中的()适用于需求明确或团队具备行业经验,并开发过类似
结构化开发中,数据流图是__()__阶段产生的成果。A.总体设计 B.程序编
从生命周期的观点来看,无论硬件或软件,大致可分为规划和设计、开发(外购)和测试、
随机试题
[originaltext]M:ThisTVsetisgettingworseandworse.Nowitdoesn’tworkat
[originaltext]M:Excuseme,Iwonderifyoucouldhelpme.Thereferencelibrar
第二方评价的目的是()。A.从专业的角度,出具评价报告 B.对施工企业进
某石化公司炼油厂,有职工500人,男性459人,年龄26-55岁,平均37岁。工
(2019年真题)关于我国目前各类证券投资基金的投资对象,以下表述正确的是(
个体工商户的生产、经营所得适用()。A:5%~25%的三级超额累进税率 B:5
使肾小球滤过阻力增大的因素是A:平均动脉压升高 B:囊内压升高 C:入球小动
对肺炎衣原体、嗜肺军团菌作用最强的药物是A.阿奇霉素 B.罗红霉素 C.克拉
获得〈报检员资格证〉的人员,必须由在检验检疫机构注册登记的报检单位向检验检疫机构
下列关于质量保证金的说法不正确的是()。A.质量保证金用以约束承包人在缺陷责任期
最新回复
(
0
)