观察者模式Observer的例子
import java.util.*;public class product extends Observable{ private float price;////价格 public float getPrice(){ return price;} public void setPrice(float price){ this.price=price; setChanged(); ////设置变化点 notifyObservers(new Float(price)); }}
import java.util.*;public class PriceObserver implements Observer{ private float price=0; public void update(Observable obj,Object arg){ if (arg instanceof Float){ price=((Float)arg).floatValue(); System.out.println("PriceObserver :price changet to "+price); } }}
public class Test { public static void main(String args[]){ Product product=new Product(); PriceObserver priceobs=new PriceObserver(); ////加入观察者 product.addObserver(priceobs); product.setPrice(9.22f); }}
运行结果: