observer
2016-01-19 09:33:05 0 举报
Observer 观察者
作者其他创作
大纲/内容
RealObserver
update(Subject)
观察者接口,实现这个接口的类才有观察能力,才能被add到观察者的队列中
update方法通常会传递回一个被观察者对象的引用,具体的观察者在实现时就可以判断是哪个被观察的东东发生了改变,这么做就可以让观察者对象同时观察多个主题了!
java自带观察者工具
RealObject
change(){ setChanged() notifyObservers() }
Subject
List observers
add()remove()change()notify()
Observer
RealSubject
changeStage
具体的观察者在状态发生变化时,需要先显示调用父类的serchanged方法来改变状态,然后调用父类的通知方法(notify中会判断changed状态,没变化则不通知)
Observable
private boolean changed;private Vector obs;
addObserver(Observer o) deleteObserver(Observer o) notifyObservers() setChanged()
1.被观察的主题抽象类中维护了一个观察者的队列,可以动态的进行增删。2.notify方法会调用所有观察者的update方法,该方法通常在子类的实现中发现主题状态变化了之后进行调用。
0 条评论
下一页