Observer Pattern 观察者模式

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

/**
*
* @author King
* 本例中:被观察者为偷钱包的贼,观察者为抓贼的警察
* 贼一旦发生偷钱包行为,就会被警察抓住
*
*/
public class ObservePattern {

public static void main(String args[]){
Thief thief1 = new Thief();
Police police1 = new Police();

//被观察者被监视
thief1.addObserver(police1);
thief1.stealPurse();
}

}

/*
* 被观察的对象继承Ovsevable
*
*/
class Thief extends Observable{

//被观察者的行为动作
public void stealPurse(){
System.out.println("stealing purse");

//被观察者的状态发生改变,并通知观察者
super.setChanged();
super.notifyObservers();
}

}


/*
* 观察者实现Observer接口
*
*/
class Police implements Observer{

//针对被观察者的行为,观察者采取的行为
@Override
public void update(Observable arg0, Object arg1) {
// TODO Auto-generated method stub
System.out.println("catch the thief");
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值