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

阅读以下说明和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代码,将...的网友还看了以下:

一道高一英语语法填空题,阅读下面短文,根据上下文填入适当的词语,或使用括号中的词语的适当形式填空, 英语 2020-04-26 …

小明买了一种“汽泡爽”的冲调饮料.(1)小明阅读资料发现:“汽泡爽”原料中的柠檬酸和小苏打(NaH 化学 2020-05-14 …

我想要提高英语100分计的考70分左右53英语完形填空和阅读理解和星火英语的完形填空和我想要提高英 数学 2020-06-02 …

考试时做英语卷先做完形填空→语法填空→一篇阅读→写作文→再回头做剩下的阅读和信息匹配这样好考试时做 语文 2020-06-03 …

小明买了一种“汽泡爽”的冲调饮料.(1)小明阅读资料发现:“汽泡爽”原料中的柠檬酸和小苏打(NaH 化学 2020-07-10 …

人类最糟糕的发明阅读问题13.本文说明了什么内容?14.指出下列句子所使用的说明方法(1)与其他国 语文 2020-07-24 …

第一节阅读填空。阅读下面短文,根据短文内容在下表格空白处填上适当的词,每空不超过三个单词(共10个小 英语 2020-11-29 …

有什么好的能在网上买到的初中生英语阅读理解和完形填空的辅导书啊?本来英语成绩在班上排名中等的,最近我 语文 2021-01-12 …

语法填空。阅读下面短文,按照句子结构的语法性和上下文连贯的要求,在空格处填人一个适当的词或使用括号中 英语 2021-02-15 …

语法填空。阅读下面短文,按照句子结构的语法性和上下文连贯的要求,在空格处填入一个适当的词或使用括号中 英语 2021-02-15 …