`
dr2tr
  • 浏览: 138722 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Observer Programming Example

阅读更多

Subject:

import java.util.Observable;

public class SimpleSubject extends Observable{
 private SimpleObserver observer = null;
 
 private String state = null;
 
 SimpleSubject(){
  observer = new SimpleObserver();
  this.addObserver(observer);  
  
  System.out.println("Subject initialed ok");
 }
 
 public String getState(){
  return state;
 }
 
 public void setState(String s){
  this.state = s;
  this.setChanged();
  this.notifyObservers();
 }
}

Observer:

import java.util.Observable;
public class SimpleObserver implements java.util.Observer{
  public void update(Observable o, Object arg){
   System.out.println("Subject changed....");
  }
}

main:
public class Test {
 public static void main(String[] args) {
  SimpleSubject ss = new SimpleSubject(); 
   
  ss.setState("new state get");
 } 
}

Notion: Don't forget to use setChanged when some fields changes, and use notifyObservers when some events happen.

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics