问答题

[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 ObserverVeetor=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() (......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题