设为首页 加入收藏

TOP

2005年下半年软件设计师下午试题(六)
2011-08-29 13:16:52 】 浏览:5861
Tags:2005年 下半年 软件 设计师 下午 试题
 

试题六(共15分)
  阅读以下说明和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 Obsever{
   void update(____(1)____); }

  //OfficeDoc.java 文件
  import java.util.*;
  public class OfficeDoc implements Subject {  //OfficeDoc 类实现Subject 接口
   private Vector ObserverVector = new java.util.Vector();
   //存储与OfficeDoc 相关联的DocExplorer 对象
   public void attach(Obsever 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(); }
   //其它公文类的属性和方法省略
  }

  //DocExplorer.java 文件
  public class DocExplorer implements _____(4)____{
   public void update(____(5)____){
   //更新   DocExplorer 自身的状态,代码省略
   }
  }

首页 上一页 3 4 5 6 7 下一页 尾页 6/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2005年下半年软件设计师上午试题 下一篇2011年3月计算机等级考试二级C++..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目