2008年下半年软件设计师下午试卷及答案(3)

2019-01-27 19:47

已知Application类中的openDocument方法采用了模板方法(Template Method)设计模式,该方法定义了打开文档的每一个主要步骤,如下所示:

1.首先检查文档是否能够被打开,若不能打开,则给出出错信息并返回; 2.创建文档对象;

3.通过文档对象打开文档; 4.通过文档对象读取文档信息;

5.将文档对象加入到Application的文档对象集合中。 【C++代码】

#include #include using namespace std; class Document{ public: void save(){ }

void open(string docName){ } void close(){ }

virtual void read(string docName) = 0; };

class Appplication{ private:

vector < (1) > docs; public:

bool canOpenDocument(string docName){ }

void addDocument(Document * aDocument){

docs.push_back( (2) ); }

virtual Document * doCreateDocument() = 0; void openDocument(string docName){ if ( (3) ){

cout << \文档无法打开 !\

return; }

(4) adoc = (5) ; (6) ; (7) ; (8) ; } };

试题七(共15 分)

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】

已知某类库开发商提供了一套类库,类库中定义了Application类和Document类,它们之间的关系如图7-1所示,其中,Application 类表示应用程序自身,而Document类则表示应用程序打开的文档。Application类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示。

图 7-1 Application与Document关系图

当开发一个具体的应用程序时,开发者需要分别创建自己的Application和Document子类,例如图7-1中的类MyApplication和类MyDocument,并分别实现Application和Document类中的某些方法。

已知Application类中的openDocument方法采用了模板方法(Template Method)设计模式,该方法定义了打开文档的每一个主要步骤,如下所示:

1.首先检查文档是否能够被打开,若不能打开,则给出出错信息并返回;

2.创建文档对象;

3.通过文档对象打开文档; 4.通过文档对象读取文档信息;

5.将文档对象加入到Application的文档对象集合中。 【Java 代码】

abstract class Document{ public void save(){ }

public void open(String docName){ } public void close(){ }

public abstract void read(String docName); };

abstract class Appplication{

private Vector < (1) > docs;

public boolean canOpenDocument(String docName){ }

public void addDocument(Document aDocument){

docs.add( (2) ); }

public abstract Document doCreateDocument(); public void openDocument(String docName){ if ( (3) ){

System.out.println( \文档无法打开!\ return; }

(4) adoc = (5) ; (6) ; (7) ; (8) ; } };


2008年下半年软件设计师下午试卷及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:个人所得税代扣代缴系统(企业端)操作指南

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: