您的位置:首页 > 编程语言 > Java开发

用java代码实现观察者模式

2015-11-17 22:29 549 查看
/*

用java代码实现观察者模式,

前台负责观察老板在办公室还是离开并通知大家,

用观察者模式实现这一过程,请实现Guard类。

使最终输出结果为:

“老板在办公室”

“前台通知大家:老板离开了”

“前台通知大家:老板回来了”

*/

//被观察的对象。

import java.util.Observable;

class Boss extends Observable {

private String name;

private String state;

public Boss(String name, String state) {

this.name = name;

this.state = state;

}

public String getName() {

return name;

}

public String getState() {

this.notifyObservers(state);

System.out.println(getName() + state);

return state;

}

public void setState(String state) {

this.state = state;

this.setChanged();

this.notifyObservers(state);

}

}

//观察者

package StaticHao;

import java.util.Observable;

import java.util.Observer;

class Guard implements Observer{

//观察者的状态

private String person;

public Guard(String person){

this.person=person;

}

@Override

public void update(Observable o, Object arg) {

// TODO 自动生成的方法存根

String state=arg.toString();

System.out.println(person+"通知大家:老板"+state);

}

}

//测试类

public class ObserverTest {

public static void main(String[] args) {

Boss Boss = new Boss("老板", "在办公室");

Guard guard = new Guard("前台");

Boss.addObserver(guard);

Boss.getState();

Boss.setState("离开了");

Boss.setState("回来了");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: