ООП - Инкапсуляция данных

Концепция инкапсуляции

Инкапсуляция – это способ организации данных и методов в единую конструкцию за счет запрета доступа к данным иными способами, кроме заданных. Таким образом, инкапсуляция гарантирует целостность данных, содержащихся в объекте.

Защита данных

Разные языки программирования по-разному интерпретируют инкапсуляцию. Здесь мы расскажем о том, что представляет собой механизм инкапсуляции в языке программирования Java. Пользователю определенного класса не нужно знать, каким образом структурированы данные в объекте. Не давая пользователю возможность изменения атрибутов и ограничивая возможности пользователя до использования определенных функций с целью их изменения (речь идет об интерфейсах), достигается целостность данных (например, это дает уверенность в том, что указанный тип данных соответствует ожиданиям или будет возвращен в пределах ожидаемого интервала времени).

Инкапсуляция определяет уровни доступа для элементов этого класса. Эти уровни доступа определяют права доступа к данным, позволяя нам осуществлять доступ к данным с помощью метода этого класса, из наследуемого класса, или даже из любого другого класса. Существуют три уровня доступа:

Public: функции всех классов могут обращаться к данным или методам класса, который создан с уровнем доступа public. Это самый низкий уровень защиты данных;

Protected: доступ к данным ограничен до функций классов наследников, то есть, то есть функций этого класса и всех подклассов;

Private: доступ к данным ограничен до методов только данного класса. Это самый высокий уровень защиты данных.

Контент нашего сайта создается в сотрудничестве с экспертами в области IT и под руководством основателя CCM.net Жана-Франсуа Пиллу. CCM - ведущий международный сайт о технологиях, доступный на 11 языках.
Похожие запросы
Данный документ под заголовком « ООП - Инкапсуляция данных » представлен по лицензии Creative Commons. Любое копирование, повторное использование или редактирование содержания должно осуществляться со ссылкой на CCM (ru.ccm.net).