Ska*_*One 1 c++ inheritance attributes class
问题可能有点不清楚,所以我只提供代码:
class HitPoints {
int m_current;
int m_maximum;
int m_regeneration;
};
Run Code Online (Sandbox Code Playgroud)
所以基本上current
意味着你现在拥有maximum
的生命值,你可以获得的最大生命值,以及regeneration
你每10秒获得多少马力.
现在的事情是; 并非我游戏中的每个生物都使用它regeneration
来重新生成他们的hp,有些人随着时间的推移无法再生hp.
我是不是应该设置regeneration
到0
那些生物,或者我应该继承一个新的类:
class HitPoints {
int m_current;
int m_maximum;
};
class RegeneratingHitPoints : public HitPoints {
int m_regeneration;
};
Run Code Online (Sandbox Code Playgroud)
我认为这个小例子并不重要,但是利用我学到的知识,我应该继承一个新的课程.
我的问题是,一个属性真的重要吗?为了使它成为更通用的问题,创建新类有多严格?我有时可以"屈服"一点并使用旧班,即使我应该继承一个新班吗?