早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读以下说明和Java代码,将应填入(n)处。[说明] 在一公文处理系统中,开发者定义了一个公文类Offic

题目

阅读以下说明和Java代码,将应填入(n)处。

[说明]

在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组 DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的 DocExplorer对象都将得到通知,这种应用被称为观察者模式。以下代码采用Java语言实现,能够正确编译通过。

[Java代码]

//Subject.java 文件

public interface Subject {

public void attach(Observer DocExplorer);

public void detach(Observer DocExplorer);

void notifyObservers();

}

//Observer.java 文件

public interface Observer{

void update((1) );

}

//OfficeDoc.java 文件

import java.util.*;

public class OfficeDoc implements Subject(//OfficeDoc 类实现 Subject 接口

private Vector bserverVeetor=new java.util.Vector();

//存储与OfficeDoc相关联的DocExplorer 对象

public void attach(Observer observer){

//将某 DocExplorer 对象与OfficeDoc 相关联

ObserverVector.addElement(observer);

}

public void detach(Observer observer){

//解除某DocExplorer 对象与OfficeDoc的关联关系

ObserverVector.removeElement(observer);

}

public void notifyObservers(){

//当OfficeDoc对象状态已发生变化时,通知所有的DocExplorer对象

Enumeration enumeration=(2);

while (enumeration.hasMoreElements()){

((Observer)enumeration.nextElement()).(3);

}

}

public Enumeration Observers(){

return ObserverVector.elements();

}

//其他公文类的属性和方法省略

}

//DoeExplorer.java 文件

public class DocExplorer implements (4) {

public void update( (5) ){

//更新DocExplorer自身的状态,代码省略

}

}

参考答案
正确答案:(1) Subject subject(注:第二个subject可用其他标识符替换) (2) Observers() (3) update(this) (4) Observer (5) Subject subject(注:第二个subject可用其他标识符替换)
(1) Subject subject(注:第二个subject可用其他标识符替换) (2) Observers() (3) update(this) (4) Observer (5) Subject subject(注:第二个subject可用其他标识符替换) 解析:第(1)空处观察者对象更新自身的状态,更新的数据应该来自被观察者对象,所以此处应该为一Subject,因此第(1)空的答案为Subject subject。同样的道理,第(5)空和第(1)空是相同的。
notifyObservers方法通知所有的观察者对象更新自身的状态,所以(2)空处应该返回所有的观察者对象,调用方法Observers()即可获得。第(3)空处对每个观察者对象更新状态,所以应该调用update方法,update方法需要此被观察者对象作为参数,所以使用this来获取对象自身。DocExplorer是一个观察者,因此需要实现接口Observer,第(4)空为Observer。
看了阅读以下说明和Java代码,将...的网友还看了以下:

语文关于说明文的文学常识选择题下列关于文学常识的表述,错误的是().A.说明文一般可以按时间、空间 语文 2020-04-27 …

RSA算法怎么推导RSA加解密的算法完全相同,设A为明文,B为密文,则:A=B^e1modn;B= 其他 2020-05-17 …

下列关于说明文特征的归纳正确的一项是()A.说明文语言要准确,所以要求列数字要列确数,不可列概数。 其他 2020-05-17 …

(52)关于密码体制的分类,以下说法不正确的是( )。A)按明文到密文的转换操作可分为:置换密码和代 计算机类考试 2020-05-23 …

关于密码体制的分类,以下说法不正确的是( )。A.按明文到密文的转换操作可分为:置换密码和易位密码 计算机类考试 2020-05-24 …

关于密码体制的分类,以下说法不正确的是()。A.按明文到密文的转换操作可分为:置换密码和代换密码B 计算机类考试 2020-05-24 …

A.对明文字母进行变换,且对明文位置进行重新排列B.对明文字母进行变换,但不对明文位置进行重 计算机类考试 2020-05-26 …

下列说法中不完全正确的一项是()A.说明文的说明顺序有时间顺序、空间顺序和逻辑顺序B.记叙文的主要 其他 2020-06-08 …

把相关联的内容连接起把相关联的内容连接起来:A黄帝B仓颉C伶伦D嫘祖a发明文字b发明养蚕缫丝c发明 历史 2020-07-16 …

A黄帝B仓颉C伶伦D嫘祖a发明文字b发明养蚕缫丝c发明舟车d编出乐谱 历史 2020-12-22 …