终于把Observer模式搞清楚了…明天就考试了
我写的代码:
//Watching.java
import java.util.*;
class Watched extends Observable{
private String data = "";
public String getData(){
return data;
}
public void changeData(String data){
if (!this.data.equals(data)){
this.data = data;
this.setChanged();
}
this.notifyObservers();
}
}
class Watcher implements Observer{
Watcher(Watched w){
w.addObserver(this);
}
public void update(Observable ob, Object arg){
System.out.println("Data changed to : " + ((Watched)ob).getData());
}
}
public class Watching{
static private Watched watched;
static private Observer watcher;
public static void main(String[] args){
watched = new Watched();
watcher = new Watcher(watched);
watched.changeData("abd");
watched.changeData("sfs");
watched.changeData("sfs");
watched.changeData("gff");
}
}