关于一种设计的疑问,( OOD/A , DP )
现在有一个类的派生体系.
class A
{
public:
enum {
STATE_NORMAL,
STATE_DESTROY,
};
private:
INT m_nState;
public:
VOID SetState( INT nState );
};
class B : public A
{
};
class C : public B
{
};
如上,基类A中有一个表示该对象状态的变量,和一些表示状态的枚举.
并且基类A仅仅有两种状态,普通和死亡状态。
但是在子类B中,有可能拥有另一种状态STATE_B.
同样在子类C中,有一种状态STATE_C。
假如,从这个类的派生体系生成的对象在某个时刻仅仅有一中状态。
我该怎么做?
如果我对这些状态进行分段,貌似可以解决这些问题,可是就需要
用户(派生者)自己去定义这些区段。很麻烦。
那么请问,我如何将其进行规划,毕竟子类,拥有自己的状态是一种很正常的事情。
我该怎么做更好一些呢〉
望不吝赐教。
致谢~