首页
登录
从业资格
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
最全题库
2022-08-02
115
问题
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以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()。
转载请注明原文地址:http://tihaiku.com/congyezige/2410308.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
IT组织结构的设计主要受到四个方面的影响和限制,包括客户位置、IT员工工作地点、
系统管理预算可以帮助IT部门在提供服务的同时加强成本/收益分析,以合理地利用IT
某公司员工赵忻是一名软件设计师,按公司规定编写软件文档需要上交公司存档。这些软件
王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档。以下有关该软
李某未经许可擅自复制并销售甲公司开发的财务管理软件光盘,已构成侵权。乙公司在不知
应用软件开发项目执行过程中允许对需求进行适当修改,并对这种变更进行严格控制,充分
()清楚地描述了测试各阶段和开发各阶段的对应关系。A.瀑布模型 B.迭代模型
信息系统项目生命周期模型中的()适用于需求明确或团队具备行业经验,并开发过类似
结构化开发中,数据流图是__()__阶段产生的成果。A.总体设计 B.程序编
从生命周期的观点来看,无论硬件或软件,大致可分为规划和设计、开发(外购)和测试、
随机试题
Nearlyallsurgicalstudentsstickthemselveswithneedlesand【C1】______ins
[originaltext]W:Hello,Gary.How’reyou?M:Fine!Andyou?W:Can’tcomplain.
西方大国中第一个与中国建交的国家是()A.英国 B.法国 C.荷兰 D.瑞
患者心悸怔忡,畏寒肢冷,尿少身肿,唇舌青紫,苔白滑,脉沉微。证属A:肾虚水泛
下列测量方法中,最适合测绘建筑物立面图的是()A:三角高程测量B:地面激光扫描
Thechangeinthatvillagewasmiraculou
作业层的质量信息系统通常有()等特点。 A.汇总性B.可预见性 C.重复
太阳头痛除选主穴外还可配用A.印堂、攒竹、合谷、内庭 B.率谷、外关、足临泣
(2020年真题)关于证券投资风险的表述,说法错误的是( )A.基金投资风险由
儿童预防接种的管理说法错误的是A.国家对儿童实行预防接种证制度。在儿童出生后1个
最新回复
(
0
)