Ключевое отличие: скрытие данных, также известное как скрытие информации или инкапсуляция данных в информатике, - это метод разработки программного обеспечения, используемый в объектно-ориентированном программировании (ООП). Он в основном используется для сокрытия внутренних деталей объекта, то есть проектных решений в компьютерной программе, которые наиболее вероятно изменятся. Абстракция - это еще один процесс в информатике. Он скрывает детали реализации от данных и программ. Он показывает только соответствующие детали, как и когда требуется программой.
Сокрытие данных, также известное как скрытие информации или инкапсуляция данных в информатике, является техникой разработки программного обеспечения, используемой в объектно-ориентированном программировании (ООП). Он в основном используется для сокрытия внутренних деталей объекта, то есть проектных решений в компьютерной программе, которые наиболее вероятно изменятся. Это скрывает данные из других программ обработки деталей, поэтому, когда данные или проектные решения меняются, они не влияют на всю программу, а только на детали, от которых детали не скрываются. Это, в свою очередь, делает общую программу намного более стабильной, так как одно изменение в части программы вряд ли изменит всю программу.
Сокрытие данных также позволяет предотвратить доступ определенных клиентов к классу или программному компоненту. Это достигается с помощью функций языка программирования, таких как частные переменные, или явной политики экспорта. Сокрытие данных также снижает сложность системы для повышения надежности за счет ограничения взаимозависимостей между программными компонентами.
Абстракция данных позволяет программисту сокращать и разбирать детали, чтобы он мог сосредоточиться на нескольких концепциях одновременно. Он показывает только те детали, которые требуются пользователю, тогда как все остальные детали и информация скрыты. Это оптимизирует доступные данные, так что пользователю может не потребоваться работать с деталями, которые не нужны в данный момент.
Система может иметь несколько уровней абстракции. Каждый слой будет иметь разные значения и скрывать разные детали. В википедии приведен этот пример: низкоуровневые уровни абстракции раскрывают детали компьютерного оборудования, на котором выполняется программа, а высокоуровневые слои имеют дело с бизнес-логикой программы.
Основное различие между сокрытием данных и абстракцией данных заключается в том, что сокрытие данных скрывает некоторые данные из других частей программы. Эти данные никогда не доступны для частей программы, от которых они скрыты, до тех пор, пока программист не перепишет код, чтобы отобразить данные. Однако в абстракции данных данные не полностью скрыты. Это просто не показано, поскольку это не актуально в настоящее время. Если данные станут актуальными, то они будут показаны.