定义
对象之间的一对多的依赖,多个观察者对象同时监听某个主题对象,主题对象发生变化时,所有的观察者都会收到通知并更新
示例代码
public class Goods extends Observable {
public String getName() {
return name;
}
private String name;
public Double getPrice() {
return price;
}
private Double price;
public Goods(String name){
this.name=name;
}
public void priceFall(){
this.price=3.00;
setChanged();
notifyObservers(this);
}
}
public class Customer implements Observer {
public void update(Observable o, Object arg) {
Goods goods=(Goods)o;
System.out.println(goods.getName()+"价格下降为"+goods.getPrice());
}
}
public class Test {
public static void main(String[] args) {
Goods book=new Goods("书");
book.addObserver(new Customer());
book.priceFall();
}
}
输出
书价格下降为3.0