AKever

导航

java(2)-设计模式之观察者模式(Observer Pattern)

Java-设计模式之观察者模式(Observer Pattern)

使用Java API 中的 Observable 和 Observer

创建两个类,分别继承自ObservableObserver

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()方法。

posted on 2014-01-22 15:31  AKever  阅读(130)  评论(0)    收藏  举报