Инкапсуляция — это свойство системы дающие возможность объединить данные и методы взаимодействующие с ними в классе и скрыть детали реализации от пользователя.
Пример из жизни.
Ещё в конце XIX века что бы доехать из точки A в точку B на автомобиле, не являясь при этом пассажиром, требовалось быть как минимум быть превосходным механиком понимать устройство двигателя внутреннего сгорания и в целом быть идти на шаг впереди от остальных людей в области познания механики, но прошло меньше 200 лет и появились автомобили способные доставить человека из A в B почти без какого-либо взаимодействия с автомобилем он провезёт человека по маршруту.Современное авто объединяет множество систем и механизмов скрывая их устройство и взаимодействие между ними предоставляя простые инструменты взаимодействия человека с ним это и есть инкапсуляция.
Отличие инкапсуляции от сокрытия.
Основная задача: сокрытия — это защита данных при сокрытии сложности, инкапсуляции — это скрыть сложность системы.
Модификаторы доступа: сокрытие — private, инкапсуляция — public, internal, private.
И главное, сокрытие(data hiding) - это процесс целью которого не является объединение, связь данных и методов, его задача заключается в предоставление эксклюзивного доступа к данным, обеспечивая при том защиту от несанкционированных изменений.
Пример.
Простой пример инкапсуляции на С sharp.
Публичные методы get...() и set...() являются методами взаимодействия с переменными экземпляра класса. Переменные number и name являются приватные и доступ к ним на прямую в не класса невозможен.Часто данные методы называют геттеры и сеттеры.
Создание объекта класса Info.
Вывод программы.
Но так сделать нельзя, это и есть одно из проявлений инкапсуляции.
Спасибо за прочтение статьи.