Що таке абстракція в ООП?
Абстракція - це концепція об’єктно-орієнтованого програмування, яка «показує» лише необхідні атрибути та «приховує» непотрібну інформацію. Основна мета абстракції - приховування непотрібних деталей від користувачів. Абстракція - це вибір даних із більшого пулу, щоб показати користувачеві лише відповідні деталі об’єкта. Це допомагає зменшити складність та зусилля програмування. Це одна з найважливіших концепцій ООП.
Клацніть тут, якщо відео недоступне
Вивчимо абстракцію в ООП на прикладі:
Припустимо, ви хочете створити банківську програму, і вас попросять зібрати всю інформацію про вашого клієнта. Є ймовірність того, що ви придумаєте наступну інформацію про клієнта

Але для створення банківської програми потрібна не вся вищезазначена інформація.
Отже, вам потрібно вибрати лише корисну інформацію для вашої банківської програми з цього пулу. Такі дані, як ім’я, адреса, податкова інформація тощо, мають сенс для банківської програми, яка є прикладом абстракції в ООП
Оскільки ми отримали / видалили / вибрали інформацію про клієнта з більшого пулу, процес називається Абстракція в ООП.
Однак однаково отримана інформація може бути використана для широкого кола застосувань. Наприклад, ви можете використовувати ті самі дані для лікарняних заявок, заявок на портал вакансій, урядової бази даних тощо з незначними або зовсім без змін. Отже, це стає вашими Основними даними. Це перевага абстракції в ООП.
Різниця між абстракцією та інкапсуляцією
Абстракція | Капсуляція |
Абстракція в об’єктно-орієнтованому програмуванні вирішує проблеми на рівні проектування. | Інкапсуляція вирішує рівень її реалізації. |
Абстракція в програмуванні полягає у приховуванні небажаних деталей, одночасно показуючи найважливішу інформацію. | Інкапсуляція означає зв’язування коду та даних в одну одиницю. |
Абстракція даних у Java дозволяє зосередити увагу на тому, що повинен містити інформаційний об'єкт | Інкапсуляція означає приховування внутрішніх деталей або механіки того, як об’єкт щось робить з міркувань безпеки. |
Різниця між абстрактним класом та інтерфейсом
Анотація класу | Інтерфейс |
Абстрактний клас може мати як абстрактні, так і не абстрактні методи. | Інтерфейс може мати лише абстрактні методи. |
Він не підтримує множинне успадкування. | Він підтримує кілька спадкоємств. |
Він може забезпечити реалізацію інтерфейсу. | Він не може забезпечити реалізацію абстрактного класу. |
Абстрактний клас може мати захищений та абстрактний загальнодоступні методи. | Інтерфейс може мати лише загальнодоступні абстрактні методи. |
Абстрактний клас може мати фінальну, статичну або статичну кінцеву змінну з будь-яким специфікатором доступу. | Інтерфейс може мати лише загальнодоступну статичну кінцеву змінну. |
Що таке абстрактний клас?
Абстрактний клас - це тип класу в ООП, який оголошує один або кілька абстрактних методів. Ці класи можуть мати як абстрактні методи, так і конкретні методи. Звичайний клас не може мати абстрактних методів. Абстрактний клас - це клас, який містить принаймні один абстрактний метод.
Що таке абстрактні методи?
Абстрактний метод - це метод, який має лише визначення методу, але не містить реалізації. Метод без тіла відомий як абстрактний метод. Це має бути оголошено в абстрактному класі. Абстрактний метод ніколи не буде остаточним, оскільки абстрактний клас повинен реалізовувати всі абстрактні методи.
Переваги абстракції
- Основною перевагою використання абстракції в програмуванні є те, що вона дозволяє згрупувати кілька пов’язаних класів як братів і сестер.
- Абстракція в об’єктно-орієнтованому програмуванні допомагає зменшити складність процесу проектування та впровадження програмного забезпечення.
Коли використовувати абстрактні методи та абстрактний клас?
Абстрактні методи в основному оголошуються там, де два або більше підкласів також роблять одне і те ж по-різному за допомогою різних реалізацій. Він також розширює той самий клас Abstract і пропонує різні реалізації абстрактних методів.
Абстрактні класи допомагають описати загальні типи поведінки та ієрархію об’єктно-орієнтованого програмування класів. Він також описує підкласи, щоб запропонувати деталі реалізації абстрактного класу.
Короткий зміст:
- Абстрагування у програмуванні - це процес вибору важливих наборів даних для Об’єкта у вашому програмному забезпеченні та виключення незначних.
- Після того, як ви змоделювали свій об’єкт за допомогою абстракції даних у Java, один і той же набір даних можна використовувати в різних додатках.