Рекомендуємо, 2024

Вибір Редакції

Різниця між абстракцією і прихованням даних

Абстракція і приховування даних є найважливішими поняттями об'єктно-орієнтованого програмування. Абстракція - це метод вираження важливих властивостей без залучення фонових деталей. З іншого боку, приховування даних ізолює дані від прямого доступу програми. Хоча обидва поняття звучать подібно, але різні. Абстракція надає можливість створювати визначені користувачем типи даних для проектування об'єктів реального світу з однаковими властивостями. На відміну від приховування даних захищає дані і функції від несанкціонованого доступу.

Діаграма порівняння

Основа для порівнянняАбстракціяПриховування даних
Основний
Витягує лише релевантну інформацію та ігнорує незначні деталі.Приховує дані з частин програми.
ПризначенняЩоб приховати складність.Для досягнення інкапсуляції.
Клас
Клас використовує абстракцію, щоб отримати новий тип даних користувача.Приховування даних використовується в класі, щоб зробити його приватним.
Фокусується на
Спостережувана поведінка даних.Обмеження або дозвіл використання даних в капсулі.

Визначення абстракції

Абстракція в першу чергу використовується для приховування складності. Вона вказує на необхідні характеристики об'єкта, що відрізняє його від всіх інших типів об'єктів. Абстракція концентрується на зовнішньому аспекті об'єкта. Для об'єкта абстракція забезпечує відокремлення критичної поведінки від її реалізації. Вона визначає концептуальну межу відносно світогляду глядача. Правильна абстракція підкреслює деталі, важливі для читача або користувача, і пригнічує ознаки, які є невідповідними і девіантними.

Визначені користувачем типи даних створюються шляхом визначення абстрактних атрибутів і функцій у класі для проектування об'єктів реального світу, що мають однакові властивості. Ці атрибути відомі як члени даних, оскільки містять інформацію. Аналогічно, функції, що працюють на цих даних, називаються функціями-членами. Абстракція даних реалізується як клас, який представляє основні властивості без включення тлумачення фону.

Типи абстракції:

  • Процедурна абстракція - Вона включає ряд інструкцій, що мають вказані функції.
  • Абстракція даних - це набір даних, який визначає та описує об'єкт даних.
  • Управління абстракцією - це програмний механізм управління, де деталі інтер'єру не вказані.

Визначення сховища даних

Приховування даних означає приховування даних з компонентів програми, які не потрібно отримувати. Ізоляція даних від безпосереднього доступу програмою називається приховування даних або приховування інформації. Для реалізації приховування даних використовується інкапсуляція, де дані і функції класу захищені від несанкціонованого доступу. На відміну від цього, коли дані і функції укладені в єдиний блок, відомо як інкапсуляція. Отже, приховування даних сприяє досягненню інкапсуляції. Функціональні деталі об'єкта можуть оброблятися через специфікатори доступу.

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

Основні відмінності між абстракцією і прихованням даних

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

Висновок

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

Top