//琚瀵熻呮帴鍙o紝鏈夋坊鍔犺瀵熻呭璞★紝鍞ら啋鎵鏈夎瀵熻呯瓑鏂規硶鐢蟲槑銆?br />public interface ISubject {
public void setName(String name);
public String getName();
public void addObserver(IObserver o);
public void notifyAllObserver();
}
import java.util.*;
public class Subject implements ISubject{
private String name;
List<IObserver> observers = new ArrayList<IObserver>();
public Subject(){}
public Subject(String name){
this.name=name;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
public void addObserver(IObserver o){
observers.add(o);
}
public void notifyAllObserver(){
for(int i=0;i<observers.size();i++){
observers.get(i).showInfo();
}
}
}
//瑙傚療鑰呮帴鍙c?br />public interface IObserver {
public void showInfo();
}
public class Observer implements IObserver{
private ISubject sjtref = null;
public void setRef(ISubject sjt){
this.sjtref=sjt;
}
public Observer(ISubject sjtref){
super();
this.sjtref=sjtref;
}
public void showInfo(){
System.out.println("Observering:"+sjtref.getName());
}
}
public class ObserverMain {
public static void main(String args[]){
//鏂板緩琚瀵熷璞?br /> ISubject subject = new Subject("Shen,Ziping");
//鏂板緩瑙傚療鑰呭璞?br /> IObserver observer1 = new Observer(subject);
//娉ㄥ唽
subject.addObserver(observer1);
//鍞ら啋瑙傚療鑰?br /> subject.notifyAllObserver();
}
}