我们什么时候应该使用 Observer 和 Observable?
一位面试官问我:
什么是观察者和
可观察者
,我们什么时候应该使用它们?
我不知道这些术语,所以当我回到家并开始谷歌搜索和时,我从不同的资源中找到了一些观点:Observer
Observable
1)
Observable
是一个类,Observer
是一个接口。2) 该类维护一个列表。
Observable
Observer
3)当一个对象被更新时,它调用它每个s的方法来通知,它被改变了。
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)