Рекомендуем, 2020

Выбор редакции

Разница между абстракцией и сокрытием данных

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

Сравнительная таблица

Основа для сравненияабстракцияСкрытие данных
основной
Извлекает только важную информацию и игнорирует несущественные детали.Скрывает данные от частей программы.
ЦельЧтобы скрыть сложность.Для достижения инкапсуляции.
Учебный класс
Класс использует абстракцию для получения нового пользовательского типа данных.Скрытие данных используется в классе, чтобы сделать его конфиденциальным.
Фокусируется на
Наблюдаемое поведение данных.Ограничение или разрешение использования данных в капсуле.

Определение абстракции

Абстракция в основном используется, чтобы скрыть сложность. Он указывает на необходимые характеристики объекта, который отличает его от всех других типов объектов. Абстракция концентрируется на внешнем аспекте объекта. Для объекта абстракция обеспечивает отделение критического поведения от его реализации. Он определяет концептуальную границу относительно мировоззрения зрителя. Надлежащая абстракция подчеркивает детали, которые важны для читателя или пользователя, и подавляет несущественные и отклоняющиеся особенности.

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

Типы абстракции:

  • Процедурная абстракция - включает в себя серию инструкций, имеющих указанные функции.
  • Абстракция данных - это набор данных, который определяет и описывает объект данных.
  • Абстракция управления - это механизм программного управления, в котором детали интерьера не указаны.

Определение скрытия данных

Под сокрытием данных подразумевается сокрытие данных от компонентов программы, которые не нужно извлекать. Изоляция данных от прямого доступа программой называется сокрытием данных или сокрытием информации. Для реализации сокрытия данных используется инкапсуляция, когда данные и функции класса защищены от несанкционированного доступа. Напротив, когда данные и функция заключены в единый блок, это называется инкапсуляция. Следовательно, сокрытие данных помогает в достижении инкапсуляции. Функциональные детали объекта могут быть обработаны через спецификаторы доступа.

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

Ключевые различия между абстракцией и сокрытием данных

  1. Абстракция показывает соответствующую информацию и отвергает несущественные детали. С другой стороны, скрытие данных используется, чтобы скрыть данные от частей программы.
  2. Приоритетная цель абстракции - скрыть сложные детали реализации программы или программного обеспечения. Напротив, скрытие данных реализовано для инкапсуляции.
  3. Абстракция используется в классе для создания нового пользовательского типа данных. В отличие от этого, в классах сокрытие данных используется, чтобы сделать данные частными.
  4. Абстракция концентрируется на наблюдаемом поведении данных, тогда как сокрытие данных ограничивает или разрешает использование данных в капсуле.

Заключение

И абстракция, и сокрытие данных предназначались только для показа необходимой информации и скрытия несущественных деталей, но для определенной цели. Абстракция подчеркивает скрытие сложности реализации, в то время как при сокрытии данных особое внимание уделяется защите данных от несанкционированного доступа.

Top