帮我用Java写一个简单的监视者模式
时间: 2023-02-13 22:03:57 浏览: 45
监视者模式(Observer pattern)是一种软件设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
在 Java 中,我们可以使用 java.util.Observable 类和 java.util.Observer 接口来实现监视者模式。Observable 类是一个抽象类,它实现了一个被观察者对象的基本功能。Observer 接口则定义了一个观察者对象的接口,这个接口包含了一个 update() 方法,用于在被观察者对象状态发生变化时被调用。
下面是一个简单的 Java 代码示例,它展示了如何使用 Observable 类和 Observer 接口来实现监视者模式:
```
import java.util.Observable;
import java.util.Observer;
// 定义一个被观察者类
class Subject extends Observable {
private int state;
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
// 当状态发生改变时,调用 setChanged() 方法来标记这个被观察者对象为已改变状态
setChanged();
// 调用 notifyObservers() 方法来通知所有观察者
notifyObservers();
}
}
// 定义一个观察者类
class Observer1 implements Observer {