
public interface Subject {
public void registerObserver(Observer o);
public void removeObserver(Observer o);
public void notifyObservers();
}
public interface Observer {
public void update(float temp, float humidity, float pressure);
}
public interface DisplayElement {
public void display();
}
気象観測所を実装する
(
56
ページの)メアリーとスーの素晴らしい意見とクラスの全体構造を詳しく表した
図があるので、気象観測所の実装を進めます。まずはインタフェースから始めましょう。
この
2
つのメソッドは引数として
Observer
を取ります。つまり、
Observer
を登録または削除するのです。
Subject
の状態が変わると、すべてのオブザーバ
に通知するためにこのメソッドが呼び出されます。
すべてのオブザーバが
Observer
インタフェースを
実装するので、すべてのオブ
ザーバは
update()
メソッド
を実装する必要があります。
ここでは、メアリーとスーの
会話に従って測定値をオブ
ザーバに渡します。
これらは、気象測定値に変化があると
Observer
が
Subject
か
ら取得される状態値です。
DisplayElement
インタフェースには ...