Aký je rozdiel medzi abstrakciou a dedičstvom

Obsah:

Anonim

The hlavný rozdiel medzi abstrakciou a dedičstvom je to abstrakcia umožňuje skrývať vnútorné detaily a zobrazovať iba funkcionalitu používateľom, zatiaľ čo dedičnosť umožňuje používať vlastnosti a metódy už existujúcej triedy.

Objektovo orientované programovanie (OOP) je hlavnou paradigmou programovania. Umožňuje vývojárom jednoducho modelovať scenáre skutočného sveta pomocou sady objektov. Mnoho moderných programovacích jazykov, ako je Java a C#, podporuje OOP. Trieda a objekt sú stavebnými kameňmi programu OOP. Trieda je plán, zatiaľ čo objekt je inštanciou triedy. Okrem toho existujú piliere OOP. Dve z nich sú abstrakcia a dedičnosť.

Abstrakcia, Abstraktná trieda, Dedičnosť, Rozhranie, Objekt, OOP

Čo je to abstrakcia

Abstrakcia je metodika skrývania vnútorných podrobností a zobrazovania iba funkcií používateľom. Inými slovami, používateľ alebo vonkajší svet nevidí podrobnosti o internej implementácii. Namiesto toho vidí iba funkčnosť. Abstraktný koncept je podobný nasledujúcemu príkladu. Predpokladajme napríklad diaľkový ovládač. Skladá sa zo sady tlačidiel na ovládanie. Užívateľ môže meniť kanály, zvyšovať hlasitosť, meniť jas atď. Na ovládanie nemusí vedieť o vnútorných obvodoch ovládača. Abstrakcia je tomu podobná.

Programovacie jazyky, ako napríklad Java, podporujú abstrakciu. Programátor môže implementovať abstrakciu pomocou konceptov, ako sú abstraktná trieda a rozhranie. Po prvé, abstraktná trieda môže pozostávať z abstraktných a neabstraktných metód. Trieda, ktorá rozširuje abstraktnú triedu, musí poskytovať implementácie pre abstraktné metódy. Za druhé, rozhranie je zbierka abstraktných metód. Nemá abstraktné metódy. Preto trieda, ktorá implementuje rozhranie, musí poskytovať implementácie alebo definície metód všetkým abstraktným metódam v rozhraní. Abstrakcia celkovo pomáha znižovať zložitosť systému.

Čo je dedičstvo

Dedičnosť je metodika využívania vlastností a metód už existujúcej triedy v novej triede. Existujúca trieda je nadradená alebo nadtrieda, zatiaľ čo nová trieda je podradená alebo podtrieda. Vývojár nemusí písať kód od začiatku. Namiesto toho môže použiť už existujúci kód a vyvinúť ostatné. Dedičnosť preto umožňuje opätovné použitie kódu.

Existujú rôzne druhy dedičnosti. Sú nasledovné.

Dedičstvo na jednej úrovni - Ak A a B sú dve triedy a B dedí A, potom ide o dedičstvo na jednej úrovni.

Viacúrovňové dedičstvo - Existuje stredná trieda. Existujú tri triedy nazývané A, B a C. B dedí od A a C dedí od B.

Viacnásobné dedičstvo - Ak A, B a C sú tri triedy a ak C dedí z A aj B, potom ide o viacnásobné dedičstvo.

Hierarchická dedičnosť - Keď A, B a C sú tri triedy a B a C dedia od A, potom ide o hierarchické dedičstvo.

Hybridné dedičstvo - Je to kombinácia viacúrovňovej a viacnásobnej dedičnosti.

Rozdiel medzi abstrakciou a dedičstvom

Definícia

Abstrakcia je koncept OOP, ktorý skrýva detaily implementácie a používateľovi ukazuje iba funkčnosť. Naopak, dedičnosť je metodika vytvárania novej triedy pomocou vlastností a metód existujúcej triedy. Toto teda odráža hlavný rozdiel medzi abstrakciou a dedičnosťou.

Hlavné použitie

Záver

Abstrakcia a dedičnosť sú celkovo úplne odlišné koncepty OOP a poskytujú rôzne použitia. Hlavný rozdiel medzi abstrakciou a dedičnosťou je v tom, že abstrakcia umožňuje skryť vnútorné detaily a zobrazovať iba funkcie používateľom, zatiaľ čo dedičnosť umožňuje používať vlastnosti a metódy už existujúcej triedy.

Referencie:

1. „Dedičnosť v Jave - Javatpoint.“ Www.javatpoint.com, k dispozícii tu. 2. „Abstraktná trieda v Jave - Javatpoint.“ Www.javatpoint.com, k dispozícii tu.

Obrázok so súhlasom:

1. „dedičný diagram“ od Plukeho - vlastná práca (CC0) prostredníctvom Commons Wikimedia.

Aký je rozdiel medzi abstrakciou a dedičstvom