Observable
Vector obs
synchronized void addObserver(Observer o){...}synchronized void deleteObserver(Observer o){...}void notifyObservers(){...}
public void notifyObserver(){ for(Observer o : obs){ o.update(this); }}
Observer
void update(Observable o)
ConcreteObserverB
update
ConcreteObserverA
ConcreteObservableA
state
getState()setState()
public void update(Observable o){ o.getState(); ...}