Это довольно простой вопрос с OO, но тот, который прослушивал меня в течение некоторого времени.
Я стараюсь избегать использования модификатора видимости 'private' для моих полей и методов в пользу protected
.
Это связано с тем, что я вообще не вижу возможности скрывать реализацию между базовым классом и дочерним классом, за исключением случаев, когда я хочу установить конкретные рекомендации для расширения моих классов (т.е. в рамках). В большинстве случаев я думаю, что попытка ограничить распространение моего класса либо мной, либо другими пользователями не выгодна.
Но для большинства людей модификатор private
обычно является выбором по умолчанию при определении непубличного поля/метода.
Итак, можете ли вы указать варианты использования для private
? Есть ли основная причина всегда использовать частные? Или вы также думаете, что это злоупотребление?