打字猴:1.700469186e+09
1700469186 public interface Observable{
1700469187
1700469188 //增加一个观察者
1700469189
1700469190 public void addObserver(Observer observer);
1700469191
1700469192 //删除一个观察者
1700469193
1700469194 public void deleteObserver(Observer observer);
1700469195
1700469196 //既然要观察,我发生改变了他也应该有所动作,通知观察者
1700469197
1700469198 public void notifyObservers(String context);
1700469199
1700469200 }
1700469201
1700469202 这是一个通用的被观察者接口,所有的被观察者都可以实现这个接口。再来看韩非子的实现类,如代码清单22-10所示。
1700469203
1700469204 代码清单22-10 被观察者实现类
1700469205
1700469206 public class HanFeiZi implements Observable,IHanFeiZi{
1700469207
1700469208 //定义个变长数组,存放所有的观察者
1700469209
1700469210 private ArrayList<Observer>observerList=new ArrayList<Observer>();
1700469211
1700469212 //增加观察者
1700469213
1700469214 public void addObserver(Observer observer){
1700469215
1700469216 this.observerList.add(observer);
1700469217
1700469218 }
1700469219
1700469220 //删除观察者
1700469221
1700469222 public void deleteObserver(Observer observer){
1700469223
1700469224 this.observerList.remove(observer);
1700469225
1700469226 }
1700469227
1700469228 //通知所有的观察者
1700469229
1700469230 public void notifyObservers(String context){
1700469231
1700469232 for(Observer observer:observerList){
1700469233
1700469234 observer.update(context);
1700469235
[ 上一页 ]  [ :1.700469186e+09 ]  [ 下一页 ]