Абстракція проти інкапсуляції

Автор: Laura McKinney
Дата Створення: 8 Квітень 2021
Дата Оновлення: 1 Травень 2024
Anonim
Абстракция в ООП
Відеоролик: Абстракция в ООП

Зміст

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


Зміст: Різниця між абстракцією та інкапсуляцією

  • Порівняльна діаграма
  • Що таке абстракція?
    • Приклад
  • Що таке інкапсуляція?
    • Приклад
  • Ключові відмінності між абстракцією та інкапсуляцією
  • Висновок

Порівняльна діаграма

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

Що таке абстракція?

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


Ієрархічна класифікація допомагає нам впоратися зі складною абстракцією. Це дозволяє нам розбити складну систему на керовані фрагменти та створити багатошарову семантику. Крім того, це узагальнення.

Приклад

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

Отже, абстракція лише узагальнює, які елементи є
важливо для створення системи, тобто просто підбирати важливі.

Що таке інкапсуляція?

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


Коли код і дані, які діють
на цих даних пов'язані в класі, потім створюються об'єкти цього класу.
Доступ до елементів елемента обмежений чітко визначеним інтерфейсом
відомий як специфікатор доступу. Є три доступу
специфікатори Java та C ++ Public, Private, Secure.

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

Приклад

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

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

Ключові відмінності між абстракцією та інкапсуляцією

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

Висновок

Абстракція та інкапсуляція
обидва є важливою особливістю ООП. Чудова інкапсуляція може досягти фантастичної абстракції.