вопрос может быть немного неясно, так что я просто приведу код:Должен ли я наследовать подкласс, если в некоторых экземплярах не используется атрибут базового класса?
class HitPoints {
int m_current;
int m_maximum;
int m_regeneration;
};
Так в основном current
означает хитпоинты вы в настоящее время есть, maximum
это максимальные очки вы можете иметь, и regeneration
является сколько hp вы получаете каждые 10 секунд.
Теперь дело; не каждое существо в моей игре использует regeneration
для регенерации своего hp, некоторые просто не могут регенерировать hp с течением времени.
Должен ли я просто установить regeneration
в 0
для этих существ, или я должен наследовать новый класс:
class HitPoints {
int m_current;
int m_maximum;
};
class RegeneratingHitPoints : public HitPoints {
int m_regeneration;
};
Я думаю, что это не имеет значения, что многое для этого небольшого примера, но используя знания I» я узнал, я должен наследовать новый класс.
Вопрос, действительно ли это имеет значение для одного атрибута? И чтобы сделать его более общим вопросом, насколько строго он создает новые классы? Могу ли я иногда просто «согнуть» немного и использовать старый класс, даже если я должен наследовать новый?
Не стоит отвечать, но я бы просто сделал его равным нулю. – MikeTheLiar
Согласовано - легко обернуть вокруг оси по классу. Что-то сказать просто. –