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

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

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

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