Когда мы должны использовать Observer и Observable?
Интервьюер спросил меня:
Что такоеObserver
а такжеObservable
и когда мы должны их использовать?
Я не былне знаю этих терминов, поэтому, когда я вернулся домой и начал гуглить оObserver
а такжеObservable
Я нашел несколько точек из разных ресурсов:
1)Observable
это класс иObserver
это интерфейс.
2)Observable
класс ведет списокObserver
s.
3) КогдаObservable
объект обновлен, он вызываетupdate()
метод каждого из егоObserver
s, чтобы уведомить это, это изменено.
Я нашел этот пример:
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)
методы для?