インタビュアーは私にこう尋ねました:
それらは何でObserver
、Observable
いつ使用する必要がありますか?
私はこれらの用語を知らなかったので、家に帰って と についてグーグルで調べ始めたときObserver
、Observable
さまざまなリソースからいくつかのポイントを見つけました。
1)
Observable
はクラスでObserver
あり、インターフェースです。2)
Observable
クラスは のリストを維持しますObserver
。3)
Observable
オブジェクトが更新されると、そのオブジェクトupdate()
のそれぞれのメソッドを呼び出してObserver
、変更されたことを通知します。
私はこの例を見つけました:
import java.util.Observable;
import java.util.Observer;
class MessageBoard extends Observable
{
public void changeMessage(String message)
{
setChanged();
notifyObservers(message);
}
}
class Student implements Observer
{
@Override
public void update(Observable o, Object arg)
{
System.out.println("Message board changed: " + arg);
}
}
public class MessageBoardTest
{
public static void main(String[] args)
{
MessageBoard board = new MessageBoard();
Student bob = new Student();
Student joe = new Student();
board.addObserver(bob);
board.addObserver(joe);
board.changeMessage("More Homework!");
}
}
Observer
しかし、なぜとObservable
?が必要なのかわかりません。setChanged()
およびnotifyObservers(message)
メソッドは何のためのものですか?