观察者模式
来源:互联网 发布:使用sql来commit work 编辑:程序博客网 时间:2024/06/05 20:28
这个模式主要是Observer和Observable
Observable是被观察事物,Observer是观察者。当观察者发现被观察者的一些属性发生变化,则会做出一些反映。
import java.util.Observable;import java.util.Observer;public class ObserveTest {public static void main(String args[]) {House h = new House(20.0f);Person p1 = new Person();Person p2 = new Person();Person p3 = new Person();h.addObserver(p1);h.addObserver(p2);h.addObserver(p3);h.setPrice(30.0f);}}class House extends Observable {private double price;public House(double price) {super();this.price = price;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;super.setChanged();super.notifyObservers();}}class Person implements Observer {@Overridepublic void update(Observable o, Object arg) {System.out.println(o + "Hello" + arg);}}
以上是一个实例,House是一个被观察事物,人是观察者,当房价发生变化时,人就会说“Hello”。
重要函数:
setChanged();标记为已经改变。
notifyObservers();告知观察者发生改变。
addObservers(o);加入观察者
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 关于浏览器内核的一些概念
- Delphi IDhttp 获取Cookie
- 线性时间选择
- 罗裳轻解,看C++怎样拥java入怀……
- 【转】理解JavaScript函数 函数传参
- 观察者模式
- 大量访问Google的map URL返回Respon不要直接用String接,需要用Stream去接
- 布局技巧:使用ViewStub
- Android 1.5 1.6 2.0 2.1 2.2 2.3 3.0的区别
- 如何找回邮箱上已经彻底删除的邮件
- make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb]
- 学C++和VC如何入门,如何提高?
- 【转】一步一步学JSP(环境配置,数据库连接,web应用配置)
- 20110805 组队赛b题