首页 > 代码库 > 观察者模式(一)

观察者模式(一)

1.两种角色

观察者和被观察者

2.被观察者的类实现了如下方法;

  a。对观察者的管理,  删除添加观察者

  b. 状态的变化:设置和获得状态是否变化

   c。通知观察者

3.对于观察者:

在收到被观察者的通知后,做通知后的事情

 1 package yinyong; 2  3 import java.util.Observable; 4 import java.util.Observer; 5  6 class Gupiao extends Observable 7 { 8     String name; 9     int price;10     public Gupiao(String name,int price)11     {12         this.name=name;13         this.price=price;14         15     }16     public void setPrice(int price)17     {18         this.price=price;19         setChanged();20         notifyObservers(price);//通知各个观察者,参数为price21     }22     23 }24 class  GuMin implements Observer25  {26 27     28     public void update(Observable o, Object arg) {29         // TODO 自动生成的方法存根30         Gupiao gupiao=(Gupiao)o;31         System.out.println(gupiao.name+"  的价格变成"+arg);32         33         34     }35     }36 37 public class Test {38     public static void main(String args[])39     {40     Gupiao gupiao=new Gupiao("Lenvon",34);41     gupiao.addObserver(new GuMin());42     gupiao.setPrice(-3);43     gupiao.setPrice(34);44     45     }46     47     48         49         50         51                     52     53 }