阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。 [说明] 在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此

admin2010-01-15  38

问题 阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。
    [说明]
   在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用Java语言实现,能够正确编译通过。
   [Java代码]
  

选项

答案Observer(观察者)模式的设计意图是:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。(1)空缺处观察者对象更新自身的状态,更新的数据应该来自被观察者对象,所以此处应该为一Subject,因此(1)空缺处所填写的内容是:Subject subject。同理,(5)空缺处与(1)空缺处所填写的内容是相同的。 notifyObservers方法通知所有的观察者对象更新自身的状态,因此(2)空缺处应该返回所有的观察者对象,调用方法Observers()即可获得。(3)空缺处对每个观察者对象更新状态,所以应该调用update方法,update方法需要此被观察者对象作为参数,所以使用this宋获取对象自身。DocExplorer是一个观察者,因此需要实现接口Observer,即(4)空缺处所填写的内容是:Observer。

解析
转载请注明原文地址:https://kaotiyun.com/show/PcDZ777K
0

最新回复(0)