首页
登录
从业资格
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
最全题库
2022-08-02
84
问题
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以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]M:Canyoutellmewhattimeitisnow?W:Mywatchsays10:30,
SophyBrentcametovisitmenearlyeveryday.She【C1】______meunbearablymo
CD-R的主要技术指标是()。A.刻录速度、擦除速度 B.刻录速度、复写速度
A.调理脾胃 B.安蛔定痛 C.驱蛔杀虫 D.散结下虫 E.通腑排蛔治疗
下列哪类药物宜用泡法处理A质地松软,水分易渗入的药材 B毒性药材 C质地坚硬
下列情况中属于阵发性冷性血红蛋白尿特征的是A:慢性或突然遇冷发作B:发病急快
根据下列资料回答问题。 2010年底,全国高速公路里程为7.41万公里,居世
ABC会计师事务所的质量控制制度部分内容摘录如下: (1)质量控制部负责会计师
以下可以采用提高节充分发挥洞身截面的泄水能力的涵洞有( )。A.拱涵 B.交
具有检测结果直观准确,可检测强度与厚度,但操作复杂,对混凝土有轻微破坏特点的结构
最新回复
(
0
)