电子商务网站建设与管理—李建忠,住房和建设部信息网站,小企业销售管理软件,网站表格怎么做网上商店中的商品在名称、价格发生变化时#xff0c;必须自动通知会员#xff0c;Java的API为我们提供了Observer接口和Observable类来实现所谓观察者模式。Observable(可观察者)类允许在自身发生改变时#xff0c;通知其它对象(实现接口Observer#xff0c;观察者)。下面是…网上商店中的商品在名称、价格发生变化时必须自动通知会员Java的API为我们提供了Observer接口和Observable类来实现所谓观察者模式。Observable(可观察者)类允许在自身发生改变时通知其它对象(实现接口Observer观察者)。下面是一个可观察者(产品类)import java.util.*;public class product extends Observable{private String name;产品名private float price;价格public String getName(){ return name;}public void setName(String name){this.namename;设置变化点setChanged();notifyObservers(name);通知观察者}public float getPrice(){ return price;}public void setPrice(float price){this.priceprice;设置变化点setChanged();notifyObservers(new Float(price));}以下可以是数据库更新 插入命令.public void saveToDb(){System.out.println(saveToDb);}}下面是两个观察者import java.util.*;public class NameObserver implements Observer{private String namenull;public void update(Observable obj,Object arg){if (arg instanceof String){name(String)arg;产品名称改变值在name中System.out.println(NameObserver :name changet to name);}}}import java.util.*;public class PriceObserver implements Observer{private float price0;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 productnew Product();NameObserver nameobsnew NameObserver();PriceObserver priceobsnew PriceObserver();加入观察者product.addObserver(nameobs);product.addObserver(priceobs);product.setName(applet);product.setPrice(9.22f);}}运行结果C:\javajava TestNameObserver :name changet to appletPriceObserver :price changet to 9.22