抽象类定义观察者接口
问题描述:
我正在读此代码为抽象类定义的接口: -抽象类定义观察者接口
class Subject;
class Observer {
public:
virtual ~ Observer();
virtual void Update(Subject* theChangedSubject) = 0;//can someone tell what this method
does
protected:
Observer();
};
答
的Update()
功能实际上应该是class Subject
也是一个组成部分。
这必须在每次状态更改时调用。
Subject
应该保留所有Observers
的列表,并为所有成员Observers
调用Update()
函数。这通常是通过持有每个Observers
的指针/引用并调用由每个Observer
实现的各个Update()
功能来完成的。
而关于您对Update()
函数做什么的问题,它必须按照预期要做的事情来处理状态变化。