@ivan0512

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

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

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

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

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

Похожие вопросы