利用Observable、Observer实现观察者模式

曾经终败给现在 2022-08-27 08:48 232阅读 0赞
  1. import java.util.Observable;
  2. import java.util.Observer;
  3. public class Observe
  4. {
  5. public static void mian(String args[])
  6. {
  7. int a=10;
  8. BeingWatched watched=new BeingWatched();
  9. Watcher1 watcher1=new Watcher1();
  10. Watcher2 watcher2=new Watcher2();
  11. watched.addObserver(watcher1);
  12. watched.addObserver(watcher2);
  13. watched.method(a);
  14. }
  15. }
  16. class BeingWatched extends Observable
  17. {
  18. public void method(int x)
  19. {
  20. for(;x>=0;x--)
  21. {
  22. this.setChanged();
  23. this.notifyObservers(x);//自动调用Observer中 update方法
  24. }
  25. }
  26. }
  27. class Watcher1 implements Observer
  28. {
  29. @Override
  30. public void update(Observable o, Object arg)
  31. {
  32. System.out.println((Integer)arg);
  33. }
  34. }
  35. class Watcher2 implements Observer
  36. {
  37. @Override
  38. public void update(Observable o, Object arg)
  39. {
  40. Integer j=(Integer)arg;
  41. if(j<=5)
  42. System.out.println(j);
  43. }
  44. }

发表评论

表情:
评论列表 (有 0 条评论,232人围观)

还没有评论,来说两句吧...

相关阅读

    相关 观察模式

    观察者模式 Observer   观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。   这个主题对象在状态上发生变化时,会通知所有观察者对

    相关 观察模式

    什么是观察者模式 有人这么说 > 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 > > 这个主题对象在状态上发生变化时,会通知所有观

    相关 观察模式

    观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 观察者模式图: ![输入图片说明][13105107_Mf

    相关 观察模式

    什么是观察者模式? 简单的来说,观察者模式=出版者+订阅者。用比较书面的话来说的话是:定义了对象之间的一对多依赖,当一所对应的对象状态改变时,它的所有依赖者都会收到通知并

    相关 观察模式

    当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 意图:定义对象