试题详情

试题内容

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图6-1所示。

图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题:

试题一
阅读以下说明和图,回答问题1至问题3。
【说明】
某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者的信息,从而快速地提供租赁服务。该系统具有以下功能:
1.登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话,并将这些信息写入房主信息文件。
2.登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记该房屋的地址、房型(如平房、带阳台的楼房、独立式住宅等)、最多能够容纳的房客数、租金及房屋状态(待租赁、已出租)。这些信息都保存在房屋信息文件中。一名房主可以在系统中登记多个待租赁的房屋。
3.登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括:姓名、住址、电话号码、出生年月和性别。这些信息都保存在租赁者信息文件中。
4.租赁房屋。已经登记在系统中的租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看
5题:

试题五
阅读下列说明和C补代码,将应填入  (n)  处的字句写在答题纸的对应栏内。
[说明]
现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如下图所示:

[C++代码]
#include<list>
#include<iostream>
#include<string>
using namespace std;
class AbstractFile  {
protected:
string name;  //文件或目录名称
public:
void printName19{cout<<name;>    //打印文件或目录名称
virtual void add
3题:

试题三(共15分)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某软件公司欲设计实现一个虚拟世界仿真系统。系统中的虚拟世界用于模拟现实世界中的不同环境(由用户设置并创建),用户通过操作仿真系统中的1~2个机器人来探索虚拟世界。机器人维护着两个变量b1和b2,用来保存从虚拟世界中读取的字符。
该系统的主要功能描述如下:
(1)机器人探索虚拟世界(RunRobots)。用户使用编辑器(Editor)编写文件以设置想要模拟的环境,将文件导入系统(LoadFile)从而在仿真系统中建立虚拟世界(SetupWorld)。机器人在虚拟世界中的行为也在文件中进行定义,建立机器人的探索行为程序(SetupProgram)。机器人在虚拟世界中探索时(RunProgram),有2种运行模式:
①自动控制(Run):事先编排好机器人的动作序列(指令(Instruction)),执行指令,使机器人可以连续动作。若干条指令构成机器人的指令集(InstructionSet)。
②单步控制(Step):自
6题:阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某图像预览程序要求能够查看BMP,JPEG和GIF三种格式的文件,且能够在Windows和Linux两种操作系统上运行。程序需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接 (Bridge)模式进行设计,得到如图5.1所示的类图。
【Java代码】
import Java。Util。*;
class matrix{//各种格式的文件最终都被转化为像素矩阵
//此处代码省略
};
abstract class Implement{
public   (1)  ;//显示像素矩阵m
};
class WinImp:public Implementor{
public Void doPaint(Matrix m){/*调用Windows系统的绘制函数绘制像素矩阵*/}
};
clas
6题:阅读下列说明和JAVA代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图6-1所示。

采用状态(State)模式来实现该纸巾售卖机,得到如图6-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图6-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。

【Java代码】
import jav
4题:阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m个位置。对于元素值重复的情况,依次放入第m-l、m-2、…个位置。例如,如果元素值小于等于4的元素个数有10个,其中元素值等于4的元素个数有3个,则4应该在输出元素序列的第10个位置、第9个位置和第8个位置上。算法具体的步骤为:
步骤1:统计每个元素值的个数。
步骤2:统计小于等于每个元素值的个数。
步骤3:将输入元素序列中的每个元素放入有序的输出元素序列。
【C代码】
下面是该排序算法的C语言实现。
(1)常量和变量说明
R: 常量,定义元素取值范围中的取值个数,如上述应用中R值应取6
i:循环变量
n:待排序元素个数
a:输入数组,长度为n
b:输出数组,长度为n
c:辅助数组,长度为R,其中