Инкапсуляция в программировании – это процесс объединения элементов для создания новой сущности с целью сокрытия или защиты информации. В объектно-ориентированном программировании инкапсуляция является атрибутом объектного дизайна. Это означает, что все данные объекта содержатся и скрыты в объекте, и доступ к ним ограничен членами этого класса.
Инкапсуляция в языках программирования
Языки программирования не такие строгие и допускают разные уровни доступа к данным объекта. C ++ поддерживает инкапсуляцию и скрытие данных с помощью определяемых пользователем типов, называемых классами. Класс объединяет данные и функцию в единое целое. Метод сокрытия деталей класса называется абстракцией. Классы могут содержать закрытые, защищенные и открытые члены. Хотя по умолчанию все элементы в классе являются частными, программисты могут при необходимости изменять уровни доступа. Три уровня доступа доступны как в C ++, так и в C #, а два дополнительных – только в C #. Это:
- Public : все объекты имеют доступ к данным.
- Защищено : доступ ограничен членам того же класса или его потомков.
- Private : доступ ограничен члены того же класса.
- Internal : доступ ограничен текущей сборкой. (Только C #)
- Защищенный внутренний : доступ ограничен текущей сборкой или типами, производными от содержащего класса. (Только C #)
Преимущества инкапсуляции
Основным преимуществом использования инкапсуляции является безопасность данных . Преимущества инкапсуляции:
- Инкапсуляция защищает объект от нежелательного доступа клиентов.
- Инкапсуляция разрешает доступ до уровня без раскрытия сложных деталей ниже этого уровня.
- Это уменьшает количество человеческих ошибок.
- Упрощает обслуживание приложения.
- Облегчает понимание приложения.
Для наилучшей инкапсуляции данные объекта почти всегда должны быть ограничены частными или защищенными. Если вы выбрали публичный уровень доступа, убедитесь, что вы понимаете последствия этого выбора.