|
   
« | October 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |
|
blog信息 |
blog名称: 日志总数:17 评论数量:101 留言数量:-1 访问次数:123594 建立时间:2005年4月19日 | |
|
|
设计模式之Observer |
//产品类 可供Jsp直接使用UseBean调用 该类主要执行产品数据库插入 更新
import java.util.Observable;import java.util.Observer; class Product extends Observable{ private String name;private float price;public String getName(){ return name;}public void setName(String name){this.name=name;setChanged();notifyObservers(name);}public float getPrice(){ return price;}public void setPrice(float price){this.price=price;setChanged();notifyObservers(new Float(price));}} class NameObserver implements Observer{private String name=null;public void update(Observable obj,Object arg){if (arg instanceof String){name=(String)arg;//产品名称改变值在name中System.out.println("NameObserver :name changet to "+name);}}}
//观察者PriceObserver主要用来对产品价格(price)进行观察的 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();NameObserver nameobs=new NameObserver();PriceObserver priceobs=new PriceObserver();product.addObserver(nameobs);product.addObserver(priceobs);product.setName("橘子红了");product.setPrice(9.22f); product.setPrice(9.33f);product.setName("panxiongfei");}}
转载自: http://www.jdon.com/designpatterns/observer.htm | |
|
| |