Що таке абстракція в ООП? Абстрактний клас Java & Метод

Зміст:

Anonim

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

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

Клацніть тут, якщо відео недоступне

Вивчимо абстракцію в ООП на прикладі:

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

Абстракція на Java

Але для створення банківської програми потрібна не вся вищезазначена інформація.

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

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

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

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

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

Різниця між абстрактним класом та інтерфейсом

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

Що таке абстрактний клас?

Абстрактний клас - це тип класу в ООП, який оголошує один або кілька абстрактних методів. Ці класи можуть мати як абстрактні методи, так і конкретні методи. Звичайний клас не може мати абстрактних методів. Абстрактний клас - це клас, який містить принаймні один абстрактний метод.

Що таке абстрактні методи?

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

Переваги абстракції

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

Коли використовувати абстрактні методи та абстрактний клас?

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

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

Короткий зміст:

  • Абстрагування у програмуванні - це процес вибору важливих наборів даних для Об’єкта у вашому програмному забезпеченні та виключення незначних.
  • Після того, як ви змоделювали свій об’єкт за допомогою абстракції даних у Java, один і той же набір даних можна використовувати в різних додатках.