Java中应用Observer接口实践Observer模式 - 编程入门网
Java中应用Observer接口实践Observer模式时间:2011-03-24 zhangjunhd在Java中通过Observable类和Observer接口实现了观察者模式 。Observer对象是观察者,Observable对象是被观察者。 1. 实现观察者模式 实现观察者模式非常简单, [1]创建被观察者类,它继承自java.util.Observable类; [2]创建观察者类,它实现java.util.Observer接口; [3]对于被观察者类, 添加它的观察者:
addObserver()方法把观察者对象添加到观察者对象列表中。 当被观察事件发生时,执行:
setChange()方法用来设置一个内部标志位注明数据发生了变化 ;notifyObservers()方法会去调用观察者对象列表中所有的 Observer的update()方法,通知它们数据发生了变化。 只有在setChange()被调用后,notifyObservers()才会去调用 update()。 [4]对于观察者类,实现Observer接口的唯一方法update
形参Object arg,对应一个由notifyObservers(Object arg); 传递来的参数,当执行的是notifyObservers();时,arg为null。 2.实例一 NumObserable是一个被观察者,当它的成员变量data的数值发 生变化时,会通知所有的观察者。 NumObserable.java
Java中应用Observer接口实践Observer模式(2)时间:2011-03-24 zhangjunhdNumObserver是观察者。当它的被观察者(NumObserable)执行了 notifyObservers()后,它会执行uodate()方法。 NumObserver.java
测试类SingleTest,在这里将观察者加入到被观察者的观察列 表中。 SingleTest.java
结果:
3.实例二 这个实例中,还是对data进行观察,拥有两个观察者,分别观 察奇数和偶数的变化,通过notifyObservers(arg)中的参数arg来 识别通知信息。 被观察者NumsObservable.java
Java中应用Observer接口实践Observer模式(3)时间:2011-03-24 zhan |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |