java(2)-设计模式之观察者模式(Observer Pattern)
Java-设计模式之观察者模式(Observer Pattern)
使用Java API 中的 Observable 和 Observer
创建两个类,分别继承自Observable和Observer
ConObervable.java
public class ConObervable extends Observable { private int status = 0; public int getStatus(){ return status; } public void changeStatus(int status){ if( this.status != status){ System.out.println(this.status + ":" + status); this.status = status; setChanged(); this.notifyObservers(); } }
}
ConObserver.java
public class ConObserver implements Observer { public void update(Observable arg0, Object arg1) { System.out.println(arg0 + "get the status change info: " + arg1); } }
测试类 ObserverTest.java
public class ObserverTest { static ConObervable observable = null; static Observer observer = null; public static void main(String[] args) { observable = new ConObervable(); observer = new ConObserver(); observable.addObserver(observer); observable.changeStatus(0); observable.changeStatus(1); observable.changeStatus(2); observable.changeStatus(3); observable.changeStatus(4); observable.changeStatus(4); } }
changeStatus()方法执行后,ConObserver 将接收到status改变的消息,从而执行update()方法。
浙公网安备 33010602011771号