观察者模式



观察者是Observer,
房子是可被观察的Observable ;
在java.util包中提供了Observable类和Observer接口。
package org.lxh.ObserDemo;
/**
 * 观察者模式
 * */
public class TestObserver{
public static void main(String args[]){
House h = new House(3300.0f);
Person per1 = new Person() ;
Person per2 =  new Person() ;
Person per3 = new Person() ;
h.addObserver(per1) ;
h.addObserver(per2) ;
h.addObserver(per3) ;
h.setPrice(6000) ;
}

}
============
package org.lxh.ObserDemo;


import java.util.Observable;
import java.util.Observer;


public class Person implements Observer {
public void update(Observable arg0, Object arg1) {
System.out.println("*******被观察的操作有所更改**********");
}
}
========
package org.lxh.ObserDemo;
import java.util.Observable;


public class House extends Observable {
private float price ;
public House(Float price){
this.price = price ;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
super.setChanged() ; //
this.price = price;//一旦更改,则表示价格改变,实际上应该立即通知所有的观察这。
super.notifyObservers(); //通知所有的观察者 ,
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值