Files
obsidian/Программирование на Java/ООП/Инкапсуляция/Инкапсуляция.md
T
roma-dxunvrs 0e6e583e6d
deploy / Pull and Restart (push) Successful in 17s
refactor: wiki links -> md links
2026-09-22 08:52:23 +03:00

16 lines
1.7 KiB
Markdown

Объединение данных и кода для их обработки в единую структуру - класс, с реализацией контроля доступа к внутренним элементам класса через строго определенный интерфейс взаимодействия
Подробнее про [модификаторы доступа](Модификаторы.md)
Внешние классы могут быть только `public` и `default`, в отличие от [вложенных](../Вложенные%20классы.md)
## Публичные и приватные поля и методы
Внутреннее закрытое состояние:
- детали реализации не имеют значения для внешних пользователей класса
- реализация можно менять как угодно, пока не затронут внешний интерфейс
Внешний открытый интерфейс:
- фиксируется в начале разработки и далее не должен меняться
- обеспечивает внешним пользователям возможность управлять объектами класса в контролируемых пределах
## Getter/Setter
Стандартная практика - поля private, методы - public
Геттер может выводить значение в определенном формате
Сеттер может валидировать данные
Подробнее про [конструкторы](../Конструкторы.md)