@ivan0512

Зачем приватные свойства в классах, если для них созданы гетеры и сеттеры без логики?

Часто сталкиваюсь с тем, что в классе есть приватные свойства и для каждого создан геттер и сеттер без какой либо дополнительной логики.
Для чего это делается? Почему просто не оставить public, раз свойство и так можно и читать и редактировать?
Зачем нужна инкупсуляция ради инкапуляции?
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 2
Вот хороший ответ.
https://dzone.com/articles/why-should-i-write-gett...
Ответ написан
Комментировать
SerafimArts
@SerafimArts
Senior Notepad Reader
Эту практику, насколько я помню, начали применять в Java, где свойств у классов нет, а есть только поля.

Как следствие, для переопределения логики и упрощения рефакторинга: Удалили одно поле, добавили другое - не ломался публичный интерфейс, т.к. сеттеры/геттеры можно поправить в одном месте, нежели править логику во всех местах, где дёргаются поля.

Если в языке есть свойства, то да, подобное не имеет особого смысла, т.к. сами по себе являются эмуляцией свойств.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы