- Инкапсуляция – это принцип объектно-ориентированного программирования, который устанавливает для данных и методов степени доступности, объединяя их в единую структуру (класс) и ограничивая прямой доступ к внутренней реализации.
- Цели инкапсуляции напрямую определяют необходимость различных степеней доступности:
- защита внутреннего состояния объекта достигается через private модификатор, который полностью скрывает критические данные от внешнего вмешательства;
- контролируемое наследование и расширение функциональности обеспечивается модификатором protected, позволяя дочерним классам работать с данными предка, но запрещая доступ извне;
- предоставление четкого интерфейса реализуется через public методы, которые служат единственным каналом взаимодействия с объектом.
- Соответствие целей и модификаторов доступа:
Цель инкапсуляции | Реализующий модификатор | Эффект |
|---|---|---|
Полное сокрытие реализации | private | Данные доступны только внутри класса |
Безопасное наследование | protected | Данные доступны классу и его потомкам |
Предоставление интерфейса | public | Методы доступны из любого места программ |