Co je to abstrakce v OOP? Abstraktní třída a metoda Java

Co je to abstrakce v OOP?

Abstrakce je koncept objektově orientovaného programování, který „ukazuje“ pouze základní atributy a „skrývá“ nepotřebné informace. Hlavním účelem abstrakce je skrývat před uživateli nepotřebné detaily. Abstrakce je výběr dat z většího fondu, aby se uživateli zobrazovaly pouze relevantní detaily objektu. Pomáhá snižovat složitost programování a úsilí. Je to jeden z nejdůležitějších konceptů OOP.

Pokud video není přístupné, klikněte sem



Pojďme studovat abstrakci v OOP na příkladu:

Předpokládejme, že chcete vytvořit bankovní aplikaci a budete požádáni o shromáždění všech informací o vašem zákazníkovi. Existuje šance, že přijdete s následujícími informacemi o zákazníkovi

Abstrakce v Javě

K vytvoření bankovní aplikace však nejsou nutné všechny výše uvedené informace.

Z tohoto fondu tedy musíte vybrat pouze užitečné informace pro vaši bankovní aplikaci. Data jako jméno, adresa, daňové informace atd. Mají smysl pro bankovní aplikaci, která je příkladem abstrakce v OOP

Protože jsme získali/odstranili/vybrali informace o zákaznících z většího fondu, je tento proces v OOP označován jako Abstrakce.

Stejné informace po extrakci lze však použít pro širokou škálu aplikací. Stejná data můžete například použít pro nemocniční aplikaci, aplikaci portálu práce, vládní databázi atd. S malou nebo žádnou úpravou. Proto se stává vaším kmenovým datem. To je výhoda abstrakce v OOP.

Rozdíl mezi abstrakcí a zapouzdřením

Abstrakce Zapouzdření
Abstrakce v objektově orientovaném programování řeší problémy na úrovni návrhu.Zapouzdření řeší úroveň implementace.
Abstrakce v programování je o skrývání nežádoucích detailů a zobrazování většiny podstatných informací.Zapouzdření znamená svázání kódu a dat do jedné jednotky.
Abstrakce dat v Javě umožňuje soustředit se na to, co musí informační objekt obsahovatZapouzdření znamená skrytí vnitřních detailů nebo mechaniky toho, jak objekt z bezpečnostních důvodů něco dělá.

Rozdíl mezi abstraktní třídou a rozhraním

Abstraktní třída Rozhraní
Abstraktní třída může mít abstraktní i neabstraktní metody.Rozhraní může mít pouze abstraktní metody.
Nepodporuje vícenásobnou dědičnost.Podporuje více dědičností.
Může poskytnout implementaci rozhraní.Nemůže zajistit implementaci abstraktní třídy.
Abstraktní třída může mít chráněné a abstraktní veřejné metody.Rozhraní může mít pouze veřejné abstraktní metody.
Abstraktní třída může mít konečnou, statickou nebo statickou konečnou proměnnou s jakýmkoli specifikátorem přístupu.Rozhraní může mít pouze veřejnou statickou konečnou proměnnou.

Co je abstraktní třída?

Abstraktní třída je typ třídy v OOP, které deklarují jednu nebo více abstraktních metod. Tyto třídy mohou mít abstraktní metody i konkrétní metody. Normální třída nemůže mít abstraktní metody. Abstraktní třída je třída, která obsahuje alespoň jednu abstraktní metodu.

Co jsou abstraktní metody?

Abstraktní metoda je metoda, která má pouze definici metody, ale neobsahuje implementaci. Metoda bez těla je známá jako abstraktní metoda. Musí být deklarováno v abstraktní třídě. Abstraktní metoda nikdy nebude konečná, protože abstraktní třída musí implementovat všechny abstraktní metody.

Výhody abstrakce

  • Hlavní výhodou používání abstrakce v programování je, že vám umožňuje seskupit několik souvisejících tříd jako sourozence.
  • Abstrakce v objektově orientovaném programování pomáhá snížit složitost procesu návrhu a implementace softwaru.

Kdy použít abstraktní metody a abstraktní třídu?

Abstraktní metody jsou většinou deklarovány tam, kde dvě nebo více podtříd také dělají stejnou věc různými způsoby prostřednictvím různých implementací. Také rozšiřuje stejnou abstraktní třídu a nabízí různé implementace abstraktních metod.

Abstraktní třídy pomáhají popsat obecné typy chování a objektově orientovanou hierarchii tříd programování. Také popisuje podtřídy a nabízí podrobnosti o implementaci abstraktní třídy.

Souhrn:

  • Abstrakce v programování je proces výběru důležitých datových sad pro Objekt ve vašem softwaru a vynechání těch nevýznamných.
  • Jakmile modelujete svůj objekt pomocí Data Abstraction v Javě, stejnou sadu dat lze použít v různých aplikacích.