Если у меня есть класс, наследующий от другого, и только этот класс должен использовать определенную переменную, что лучше? Чтобы указанная переменная была «защищенной» в базовом классе, или чтобы она была закрытой и имела защищенный метод получения?
Я слышал противоречивые вещи. Мои учителя говорили мне всегда использовать геттеры, в то время как другие люди говорили мне, что использование геттеров на любом уровне показывает плохой дизайн программы. Каков настоящий ответ? Я чувствую, что оба являются нелогичными крайностями.
Кроме того, если геттеры и сеттеры плохо спроектированы для программы, почему это так?
Есть ли какие-нибудь ресурсы, которые научат меня больше о том, как структурировать мой код?