Представьте, что у вас есть класс Person
, который содержит много информации. Теперь я подумал о добавлении новой переменной, которая не должна быть доступна из класса Person
, скорее я хотел бы расширить класс LivingBeing
(этот пример только для этого потока, поэтому, пожалуйста, не ставьте под сомнение его смысл). Позже это может быть больше, чем просто добавленная переменная, но на данный момент LivingBeing
будет иметь одну переменную, которой Person
не должно быть. Person
позже станет LivingBeing
, когда пользователь решит так.
Мне бы пришлось много повозиться, чтобы заставить это наследство работать, но больше всего мне интересно, считаете ли вы это хорошим стилем или эффективностью. Стоит ли менять много кода для этого простого наследования?
Альтернативой было бы добавить эту определенную переменную к Person
и просто не использовать ее до тех пор, пока она не понадобится «позднее». Это кажется плохим стилем, хотя Наследование существует по определенной причине, и я должен его использовать, подумал я.
Редактировать: Что может быть важно, так это то, что только некоторые Person
-объекты становятся LivingBeings
, они сосуществуют. Так что было бы легче различать объекты Person
и LivingBeing
, вместо того, чтобы всегда иметь Person
.