Wann sollten wir Observer und Observable verwenden?
Ein Interviewer fragte mich:
Was istObserver
undObservable
und wann sollen wir sie verwenden?
Diese Bedingungen waren mir nicht bekannt. Als ich zu Hause ankam und anfing zu googelnObserver
undObservable
Ich fand einige Punkte aus verschiedenen Quellen:
1)Observable
ist eine Klasse undObserver
ist eine Schnittstelle.
2) DieObservable
Klasse verwaltet eine Liste vonObserver
s.
3) Wenn einObservable
Objekt aktualisiert wird, ruft es dieupdate()
Methode von jedem seinerObserver
Um dies mitzuteilen, wird es geändert.
Ich habe folgendes Beispiel gefunden:
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!");
}
}
Aber ich verstehe nicht, warum wir brauchenObserver
undObservable
? Was sind diesetChanged()
undnotifyObservers(message)
Methoden für?