A simple demo of Observable and Observer

本文通过一个简单的示例,展示了Java中Observable和Observer模式的基本用法。MyModel作为Observable维护数据,MyView作为Observer监听数据变化并更新视图。当模型数据改变时,会通知所有观察者进行更新。
摘要由CSDN通过智能技术生成
/**Observable和Observer的简单demo */ 
 public class ObservDemo extends Object {
  MyView view;
  MyModel model;  
  public ObservDemo() {
    view = new MyView();
    model = new MyModel();
    model.addObserver(view);
  } 
  
   public static void main(String[] av) {
    ObservDemo me = new ObservDemo();
    me.demo();
  }  
  
  public void demo() {
    model.changeSomething();
  }  
  
  /** The Observer normally maintains a view on the data */
  class MyView implements Observer {    /** For now, we just print the fact that we got notified. */
    public void update(Observable obs, Object x) {
      System.out.println("update(" + obs + "," + x + ");");
    }
  }  
  
  /** The Observable normally maintains the data */
  class MyModel extends Observable {    
      public void changeSomething() {      // Notify observers of change      
      setChanged();
      notifyObservers();
    }
  }
}


转载于:https://my.oschina.net/u/2317656/blog/424725

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值