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 undObservableIch fand einige Punkte aus verschiedenen Quellen:

1)Observable ist eine Klasse undObserver ist eine Schnittstelle.

2) DieObservable Klasse verwaltet eine Liste vonObservers.

3) Wenn einObservable Objekt aktualisiert wird, ruft es dieupdate() Methode von jedem seinerObserverUm 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?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage