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

Съдържание:

Anonim

Какво е абстракция в ООП?

Абстракцията е концепцията на обектно-ориентираното програмиране, която „показва“ само съществени атрибути и „скрива“ ненужната информация. Основната цел на абстракцията е скриване на ненужните подробности от потребителите. Абстракцията е избор на данни от по-голям пул, за да покаже на потребителя само подходящи подробности за обекта. Помага за намаляване на сложността и усилията на програмирането. Това е една от най-важните концепции за ООП.

Щракнете тук, ако видеоклипът не е достъпен

Нека изучаваме абстракция в ООП с пример:

Да предположим, че искате да създадете банково приложение и ще бъдете помолени да съберете цялата информация за вашия клиент. Има шанс да излезете със следната информация за клиента

Абстракция в Java

Но не цялата горепосочена информация е необходима за създаване на банково приложение.

Така че, трябва да изберете само полезната информация за вашето банково приложение от този пул. Данни като име, адрес, данъчна информация и др. Имат смисъл за банково приложение, което е пример за абстракция в ООП

Тъй като взехме / премахнахме / избрахме информацията за клиента от по-голям пул, процесът се нарича Абстракция в ООП.

Въпреки това, същата информация, след като бъде извлечена, може да се използва за широк спектър от приложения. Например можете да използвате едни и същи данни за кандидатстване в болница, приложение за портал за работа, правителствена база данни и др. С малка или никаква промяна. Следователно, те се превръщат в основни данни. Това е предимство на абстракцията в ООП.

Разлика между абстракция и капсулиране

Абстракция Капсулиране
Абстракцията в обектно-ориентираното програмиране решава проблемите на ниво дизайн. Капсулирането го решава на ниво на изпълнение.
Абстракцията в програмирането е свързана със скриване на нежелани подробности, като същевременно се показва най-важната информация. Капсулирането означава свързване на кода и данните в една единица.
Абстракцията на данни в Java позволява да се съсредоточи върху това какво трябва да съдържа информационният обект Капсулирането означава скриване на вътрешните детайли или механика на това как даден обект прави нещо от съображения за сигурност.

Разлика между абстрактния клас и интерфейса

Абстрактен клас Интерфейс
Абстрактният клас може да има както абстрактни, така и абстрактни методи. Интерфейсът може да има само абстрактни методи.
Той не поддържа множество наследства. Той поддържа множество наследства.
Той може да осигури изпълнението на интерфейса. Той не може да осигури изпълнението на абстрактния клас.
Абстрактният клас може да има защитени и абстрактни публични методи. Интерфейсът може да има само публични абстрактни методи.
Абстрактният клас може да има окончателна, статична или статична крайна променлива с всеки спецификатор за достъп. Интерфейсът може да има само публична статична крайна променлива.

Какво е абстрактен клас?

Абстрактният клас е тип клас в ООП, който декларира един или повече абстрактни методи. Тези класове могат да имат абстрактни методи, както и конкретни методи. Нормалният клас не може да има абстрактни методи. Абстрактен клас е клас, който съдържа поне един абстрактен метод.

Какво представляват абстрактните методи?

Абстрактният метод е метод, който има само дефиницията на метода, но не съдържа изпълнение. Метод без тяло е известен като абстрактен метод. Той трябва да бъде деклариран в абстрактен клас. Абстрактният метод никога няма да бъде окончателен, тъй като абстрактният клас трябва да реализира всички абстрактни методи.

Предимства на абстракцията

  • Основната полза от използването на абстракция в програмирането е, че ви позволява да групирате няколко свързани класа като братя и сестри.
  • Абстракцията в обектно-ориентираното програмиране помага да се намали сложността на процеса на проектиране и внедряване на софтуера.

Кога да използваме абстрактни методи и абстрактен клас?

Абстрактните методи се декларират предимно там, където два или повече подкласа също правят едно и също нещо по различни начини чрез различни реализации. Той също така разширява един и същ клас абстракт и предлага различни реализации на абстрактните методи.

Абстрактните класове помагат да се опишат родови типове поведение и обектно-ориентирана йерархия на класовете за програмиране. Той също така описва подкласове, за да предложи подробности за изпълнението на абстрактния клас.

Резюме:

  • Абстракция в програмирането е процесът на избор на важни набори от данни за обект във вашия софтуер и оставяне на незначителните.
  • След като сте моделирали обекта си с помощта на Абстракция на данни в Java, един и същ набор от данни може да се използва в различни приложения.