题目详情

现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图6-1所示。

中级软件设计师,历年真题,2012年下半年(下午)《软件设计师》真题

图6-1类图

【Java代码】

import javA.util.*;

class Department{/*代码省略*/}

interface IDepartment{

(1);

(2);

}

class SqlserverDepartment(3){

public voidInsert(Department department){

System.out.println(”Insert a record into Department in SQL Server!");

∥其余代码省略

}

public Department GetDepartment(int id){

/*代码省略*/

}

}

classAccessDepartment(4){

public void Insert(Department department){

System.out.println("Insert a record into Department in ACCESS!”);

∥其余代码省略

}

public Department GetDepartment(int id){

/*代码省略*/

}

}

(5){

(6);

}

class SqlServerFactory implements IFactory{

public IDepartment CreateDepartment(  ){

retum new SqlserverDepartment(  );

}

∥其余代码省略

}

class AccessFactory implements IFactory{

public IDepartment CreateDepartment(  ){

return new AccessDepartment(  );

}

∥其余代码省略

}

正确答案及解析

正确答案
解析

(1)void Insert(Department department)

(2)Department GetDepartment(int id)

(3)implements lDepartment

(4)implements IDepartment

(5)interface IFactory

(6)IDepartment CreateDepartment()

本题考查基本面向对象设计模式的运用能力。

抽象工厂设计模式主要是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。从题目给出的类图可知SqlserverDepartment和AccessDepartment继承于接口Idepartment。而从第(1)和第(2)空处的程序语句可以知道,这里是定义抽象函数,但在这里需要定义一个什么样的抽象函数,就需要根据SqlserverDepartment和AccessDepartment类的内容来了解。在这两个类里面都有Insert和GetDepartment这两个函数,因此在Idepartment中定义的抽象函数就是这两个函数,因此第(1)空应该填void Insert(Departmet department),而第(2)空应该填Department GetDepartment(int id)。

第(3)空和第(4)空是一样的,因为类SqlserverDepartment和AccessDepartment都是实现接口Idepartment,而实现接口都是用关键字implements,所以这两空的答案都是implements Idepartment。

从第(5)空出现的位置,不难知道这里是定义一个接口,结合前后程序,可以知道这里定义的接口是Ifactory,因此该空的答案为interface Ifactory。

第(6)空是定义接口Ifactory的抽象函数,从后面的程序可以看出,需要定义的抽象函数是CreateDepartment,因此第(6)空的答案是Idcpartment CreateDepartment()。

包含此试题的试卷

你可能感兴趣的试题

单选题

设16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是( )。

中级嵌入式系统设计师,章节练习,软件水平考试《中级嵌入式系统设计师》

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案
单选题

平均故障间隔时间MTBF用以表示系统平均无故障可正常运行的时间,下列与MTBF有关的叙述不正确的是______。

中级嵌入式系统设计师,章节练习,软件水平考试《中级嵌入式系统设计师》

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案
问答题

初级网络管理员,专项练习,软件水平考试《网络管理员》模拟题

初级网络管理员,专项练习,软件水平考试《网络管理员》模拟题

查看答案
单选题

中级软件设计师,模拟试题,2022年软件水平考试《中级软件设计师》模拟题

  • A.A
  • B.B
  • C.C
  • D.D
查看答案
单选题

中级软件设计师,模拟试题,2022年软件水平考试《中级软件设计师》模拟题

  • A.R
  • B.S
  • C.RS
  • D.R,S
查看答案

相关题库更多 +