(1)查看实现了这个接口的类,发现是DocExplorer,他有俩个方法,一个是他的构造方法,所以这个接口定义的方法为public void update();
(1)void update()
第(2)空是一个类型,为myObs的类型,往下寻找方法,发现用了一个foreach循环遍历Oberver类型的集合,所以myObs的类型应该是Observer.
(2)Observer
第(3)空,用foreach循环Observer类型的对象,所以肯定需要用它做什么,我们再去寻找Observer有什么方法,发现只有个update
所以(3)obs.update()
第(4)空,要填补sub的类型,我们去代码中寻找sub有出现的地方,并且这个方法是DocExplorer的构造方法,我们可以先去寻找DocExplorer对象出现的地方.
是sbjectA,并且subjectA的类型是Subject
所以(4)是Subject
(5)sub是Subject类型的对象,他调用的是什么我们可以去对应的方法去找,因为题目中说到这是观察者模式,而DocExplorer是观察者,当那个对象状态变换的时候,通知其他观察他的对象,所以应该调用Attach方法,将调用这个方法的对象添加到观察者列表中,
所以(5)是Attach(this)