質問は少し不明確かもしれないので、コードを提供します:
class HitPoints {
int m_current;
int m_maximum;
int m_regeneration;
};
つまり、基本的にcurrent
は、現在のヒット ポイントmaximum
、最大ヒット ポイント、regeneration
10 秒ごとに獲得できる HP を意味します。
さて、問題は次のとおりです。私のゲームの各クリーチャーがregeneration
HP を再生するために を使用しているわけではありません。
これらのクリーチャーに設定regeneration
するだけ0
でよいか、それとも新しいクラスを継承する必要があります:
class HitPoints {
int m_current;
int m_maximum;
};
class RegeneratingHitPoints : public HitPoints {
int m_regeneration;
};
この小さな例ではそれほど問題ではないと思いますが、学んだ知識を使用して、新しいクラスを継承する必要があります。
私の質問は、1 つの属性が本当に重要なのかということです。より一般的な質問にするために、新しいクラスを作成することはどのくらい厳密ですか? 新しいクラスを継承する必要がある場合でも、少し「曲げて」古いクラスを使用することはできますか?