这个问题可能有点不清楚,所以我将提供代码:
class HitPoints {
int m_current;
int m_maximum;
int m_regeneration;
};
所以基本上current
意味着你当前拥有的生命值,maximum
是你可以拥有的最大生命值,以及regeneration
你每 10 秒获得多少生命值。
现在的事情是;并不是我游戏中的每个生物都使用regeneration
来再生他们的 hp,有些只是不能随着时间的推移再生 hp。
我应该为那些生物设置regeneration
,0
还是应该继承一个新类:
class HitPoints {
int m_current;
int m_maximum;
};
class RegeneratingHitPoints : public HitPoints {
int m_regeneration;
};
我觉得这个小例子没那么重要,但是利用我学到的知识,我应该继承一个新的类。
我的问题是,一个属性真的重要吗?为了使它更通用的问题,创建新类有多严格?即使我应该继承一个新类,我有时可以稍微“弯曲”并使用一个旧类吗?