Files
obsidian/Программирование на Java/ООП/Инкапсуляция/Инкапсуляция.md
T
roma-dxunvrs f57762fd3b Init
2026-09-03 21:40:46 +03:00

16 lines
1.6 KiB
Markdown

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