В каких случаях требуются public, protected, private -методы? Здравствуйте. Недавно прочитал, что создавать класс и делать его свойства и методы сразу public - это плохая практика. Ок. А зачем вообще надо скрывать методы и свойства, в том числе даже от наследующихся классов? Я знаю что это инкапсуляция, но в чем тут смысл?

21 Авг 2019 в 07:00
171 +1
0
Ответы
1

Разный уровень доступа необходим для защиты данных. К примеру, есть класс Кот с параметрами вес и имя (это поля класса). Если оставлять public, то в любой момент можно будет задать невозможные значения (вес: -1000 кг, имя: "" ). С методами работает аналогично, проще всего понять через интерфейс. Допустим, есть метод, который считывает, конвертирует и возвращает какие-то данные. Повышаем читаемость кода и бьем на 3 отдельных метода, но пользователю необходим доступ только к конечному результату, значит, доступ к промежуточным этапам можно ограничить при помощи private. Так выделенные методы смогут спокойно выполнять свою работу внутри класса и не вводить в заблуждение пользователя, которому логика каждого из них по отдельности не нужна.

21 Июн 2021 в 08:30
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир