Co je to abstrakce v OOP? Java Abstract Class & Metoda

Obsah:

Anonim

Co je to abstrakce v OOP?

Abstrakce je koncept objektově orientovaného programování, který „zobrazuje“ pouze základní atributy a „skrývá“ nepotřebné informace. Hlavním účelem abstrakce je skrývání zbytečných podrobností před uživateli. Abstrakce vybírá data z většího fondu, aby uživateli zobrazila pouze relevantní podrobnosti o objektu. Pomáhá snižovat složitost a úsilí programování. 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 s příkladem:

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. Je pravděpodobné, ž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é údaje atd. Mají smysl pro bankovní aplikaci, která je v OOP příkladem Abstrakce

Protože jsme načetli / odstranili / vybrali informace o zákazníkovi z většího fondu, proces se v OOP označuje jako Abstrakce.

Stejné informace po extrahování však lze použít pro širokou škálu aplikací. Můžete například použít stejná data pro nemocniční aplikaci, aplikaci pracovního portálu, vládní databázi atd. S malými nebo žádnými úpravami. 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 skrytí nežádoucích detailů a zobrazení nejdůležitějších informací. Zapouzdření znamená svázat kód a data do jedné jednotky.
Data Abstraction in Java allows focusing on what the information object must contain Zapouzdř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 jak abstraktní, tak i jiné než abstraktní metody. Rozhraní může mít pouze abstraktní metody.
Nepodporuje více dědičností. Podporuje více dědičností.
Může poskytnout implementaci rozhraní. Nemůže poskytnout 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?

Abstract Class je typ třídy v OOP, který deklaruje jednu nebo více abstraktních metod. Tyto třídy mohou mít jak abstraktní, tak 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žití Abstrakce v programování je to, že umožňuje seskupit několik souvisejících tříd jako sourozence.
  • Abstrakce v objektově orientovaném programování pomáhá snižovat 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í. Rovněž rozšiřuje stejnou třídu Abstract a nabízí různé implementace abstraktních metod.

Abstraktní třídy pomáhají popsat obecné typy chování a hierarchii tříd objektově orientovaného programování. Popisuje také podtřídy, které nabízejí podrobnosti implementace 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ě, můžete použít stejnou sadu dat v různých aplikacích.