Какво е абстракция в ООП?
Абстракцията е концепцията на обектно-ориентираното програмиране, която „показва“ само съществени атрибути и „скрива“ ненужната информация. Основната цел на абстракцията е скриване на ненужните подробности от потребителите. Абстракцията е избор на данни от по-голям пул, за да покаже на потребителя само подходящи подробности за обекта. Помага за намаляване на сложността и усилията на програмирането. Това е една от най-важните концепции за ООП.
Щракнете тук, ако видеоклипът не е достъпен
Нека изучаваме абстракция в ООП с пример:
Да предположим, че искате да създадете банково приложение и ще бъдете помолени да съберете цялата информация за вашия клиент. Има шанс да излезете със следната информация за клиента

Но не цялата горепосочена информация е необходима за създаване на банково приложение.
Така че, трябва да изберете само полезната информация за вашето банково приложение от този пул. Данни като име, адрес, данъчна информация и др. Имат смисъл за банково приложение, което е пример за абстракция в ООП
Тъй като взехме / премахнахме / избрахме информацията за клиента от по-голям пул, процесът се нарича Абстракция в ООП.
Въпреки това, същата информация, след като бъде извлечена, може да се използва за широк спектър от приложения. Например можете да използвате едни и същи данни за кандидатстване в болница, приложение за портал за работа, правителствена база данни и др. С малка или никаква промяна. Следователно, те се превръщат в основни данни. Това е предимство на абстракцията в ООП.
Разлика между абстракция и капсулиране
Абстракция | Капсулиране |
Абстракцията в обектно-ориентираното програмиране решава проблемите на ниво дизайн. | Капсулирането го решава на ниво на изпълнение. |
Абстракцията в програмирането е свързана със скриване на нежелани подробности, като същевременно се показва най-важната информация. | Капсулирането означава свързване на кода и данните в една единица. |
Абстракцията на данни в Java позволява да се съсредоточи върху това какво трябва да съдържа информационният обект | Капсулирането означава скриване на вътрешните детайли или механика на това как даден обект прави нещо от съображения за сигурност. |
Разлика между абстрактния клас и интерфейса
Абстрактен клас | Интерфейс |
Абстрактният клас може да има както абстрактни, така и абстрактни методи. | Интерфейсът може да има само абстрактни методи. |
Той не поддържа множество наследства. | Той поддържа множество наследства. |
Той може да осигури изпълнението на интерфейса. | Той не може да осигури изпълнението на абстрактния клас. |
Абстрактният клас може да има защитени и абстрактни публични методи. | Интерфейсът може да има само публични абстрактни методи. |
Абстрактният клас може да има окончателна, статична или статична крайна променлива с всеки спецификатор за достъп. | Интерфейсът може да има само публична статична крайна променлива. |
Какво е абстрактен клас?
Абстрактният клас е тип клас в ООП, който декларира един или повече абстрактни методи. Тези класове могат да имат абстрактни методи, както и конкретни методи. Нормалният клас не може да има абстрактни методи. Абстрактен клас е клас, който съдържа поне един абстрактен метод.
Какво представляват абстрактните методи?
Абстрактният метод е метод, който има само дефиницията на метода, но не съдържа изпълнение. Метод без тяло е известен като абстрактен метод. Той трябва да бъде деклариран в абстрактен клас. Абстрактният метод никога няма да бъде окончателен, тъй като абстрактният клас трябва да реализира всички абстрактни методи.
Предимства на абстракцията
- Основната полза от използването на абстракция в програмирането е, че ви позволява да групирате няколко свързани класа като братя и сестри.
- Абстракцията в обектно-ориентираното програмиране помага да се намали сложността на процеса на проектиране и внедряване на софтуера.
Кога да използваме абстрактни методи и абстрактен клас?
Абстрактните методи се декларират предимно там, където два или повече подкласа също правят едно и също нещо по различни начини чрез различни реализации. Той също така разширява един и същ клас абстракт и предлага различни реализации на абстрактните методи.
Абстрактните класове помагат да се опишат родови типове поведение и обектно-ориентирана йерархия на класовете за програмиране. Той също така описва подкласове, за да предложи подробности за изпълнението на абстрактния клас.
Резюме:
- Абстракция в програмирането е процесът на избор на важни набори от данни за обект във вашия софтуер и оставяне на незначителните.
- След като сте моделирали обекта си с помощта на Абстракция на данни в Java, един и същ набор от данни може да се използва в различни приложения.