Rozdiel Medzi Polymorfizmom A Dedičnosťou V OOP

Obsah:

Rozdiel Medzi Polymorfizmom A Dedičnosťou V OOP
Rozdiel Medzi Polymorfizmom A Dedičnosťou V OOP

Video: Rozdiel Medzi Polymorfizmom A Dedičnosťou V OOP

Video: Rozdiel Medzi Polymorfizmom A Dedičnosťou V OOP
Video: Yegor Bugayenko. Java vs. OOP 2024, Smieť
Anonim

Kľúčový rozdiel - polymorfizmus vs. dedičnosť v OOP

Objektovo orientované programovanie (OOP) sa bežne používa na vývoj softvéru. Mnoho programovacích jazykov podporuje objektovo orientované programovanie. Objektovo orientované programovanie je metodika navrhovania programu pomocou tried a objektov. Trieda v OOP je plán na vytvorenie objektu. Trieda má vlastnosti a metódy. Objekt je inštanciou triedy. OOP obsahuje štyri piliere ako Dedičstvo, Polymorfizmus, Abstrakcia a Zapuzdrenie. Tento článok pojednáva o rozdieloch medzi polymorfizmom a dedičnosťou v OOP. Kľúčovým rozdielom medzi polymorfizmom a dedičnosťou v OOP je, že polymorfizmus predstavuje schopnosť objektu správať sa viacerými spôsobmi a dedičnosťou je vytvorenie novej triedy pomocou vlastností a metód existujúcej triedy.

OBSAH

1. Prehľad a kľúčový rozdiel

2. Čo je to polymorfizmus v OOP

3. Čo je to dedičnosť v OOP

4. Podobnosti medzi polymorfizmom a dedičnosťou v OOP

5. Porovnanie vedľa seba - polymorfizmus vs. dedičnosť v OOP v tabuľkovej forme

6. Zhrnutie

Čo je polymorfizmus v OOP?

Polymorfizmus má označovať viac foriem. Jeden objekt môže mať viac chovaní. Polymorfizmus možno rozdeliť do dvoch kategórií. Preťažujú a prevažujú.

Preťaženie

Prečítajte si program uvedený nižšie v jazyku Java.

Rozdiel medzi polymorfizmom a dedičnosťou v OOP
Rozdiel medzi polymorfizmom a dedičnosťou v OOP

Obrázok 01: Preťaženie

Podľa vyššie uvedeného programu sa vytvorí objekt typu A. Pri volaní obj.sum (); dá výstup súvisiaci s metódou sum (). Pri volaní obj.sum (2,3); dá výstup súvisiaci so súčtom (int a, int b). Je možné pozorovať, že rovnaký objekt sa líši v závislosti od situácie. Ak existuje viac metód s rovnakým názvom, ale s rôznymi parametrami, je to známe ako preťaženie. Je tiež známy ako statická väzba alebo polymorfizmus času kompilácie.

Naliehavé

Iný typ polymorfizmu je prvoradý. Prečítajte si program uvedený nižšie v jazyku Java.

Rozdiel medzi polymorfizmom a dedičnosťou na OOP Obrázok 02
Rozdiel medzi polymorfizmom a dedičnosťou na OOP Obrázok 02

Obrázok 02: Vyradenie

Podľa vyššie uvedeného programu existuje v triede A metóda display (). Trieda B siaha od triedy A. Preto sú všetky metódy v triede A prístupné pre triedu B. Ide o dedičstvo. Koncept dedenia je popísaný ďalej neskôr.

Trieda B má tiež rovnakú metódu display (). Pri vytváraní objektu typu A a volaní zobrazovacej metódy bude mať výstup B. Zobrazovacia metóda triedy A je prepísaná zobrazovacou metódou triedy B. Výstup je teda B.

Ak existujú metódy s rovnakým názvom a rovnakými parametrami, ale v dvoch rôznych triedach, ktoré sú spojené s dedičstvom, je známe ako prepísanie. Je tiež známy ako neskoré viazanie, dynamické viazanie, runtime polymorfizmus. Preťaženie a prepísanie sa nazývajú polymorfizmus. Je to hlavný koncept v objektovo orientovanom programovaní.

Čo je dedičstvo v OOP?

Prečítajte si program uvedený nižšie v jazyku Java.

Kľúčový rozdiel medzi polymorfizmom a dedičnosťou v OOP
Kľúčový rozdiel medzi polymorfizmom a dedičnosťou v OOP

Obrázok 03: Príklad dedičstva

Podľa vyššie uvedeného programu má trieda A metódu sum () a trieda B metódu sub ().

Metódu sum () triedy A je možné použiť v triede B pomocou kľúčového slova extend. Opätovné použitie vlastností a metód v existujúcej triede na vytvorenie novej triedy sa nazýva Inheritance. V triede B dokonca neexistuje žiadna metóda sum (); dedí sa z triedy A. Dedičnosť je užitočná na opätovné použitie kódu. Staršia trieda sa nazýva základná trieda, nadtrieda alebo rodičovská trieda. Odvodená trieda sa nazýva podtrieda alebo podradená trieda.

Druhy dedičstva

Existujú rôzne druhy dedičstva. Sú to jednoúrovňové dedičstvo, viacúrovňové dedičstvo, viacnásobné dedičstvo, hierarchická dedičnosť a hybridné dedičstvo.

Jednotné dedičstvo

V Single Inheritance existuje jedna super trieda a jedna podtrieda. Ak je trieda A supertrieda a trieda B je podtrieda, všetky vlastnosti a metódy triedy A sú prístupné pre triedu B. Existuje iba jedna úroveň; preto sa nazýva ako dedičstvo jednej úrovne.

Viacúrovňové dedičstvo

Vo viacúrovňovom dedičstve existujú tri úrovne tried. Stredná trieda dedí zo super triedy. Podtrieda dedí z medzitriedy. Ak existujú tri triedy ako A, B a C a A je super trieda a B je stredná trieda. Potom B dedí z A a C dedí z B, je to viacúrovňové dedičstvo.

Viacnásobné dedičstvo

Vo Multiple Inheritance existuje veľa super tried a jedna podtrieda. Ak existujú tri super triedy nazývané A, B, C a D je podtrieda, potom môže trieda D dediť z A, B a C. V programovacom jazyku C ++ je podporovaná viacnásobná dedičnosť. Nie je podporovaný v programovacích jazykoch, ako sú Java alebo C #. Rozhrania sa používajú na implementáciu viacnásobnej dedičnosti v týchto jazykoch.

Hierarchické dedičstvo

Ak existujú triedy nazývané A ako super triedy a B, C sú podtriedy, môžu tieto podtriedy dediť vlastnosti a metódy triedy A. Tento typ dedičstva je známy ako hierarchická dedičnosť.

Hybridné dedičstvo

Existuje ešte jeden špeciálny typ dedičstva, ktorý je známy ako hybridná dedičnosť. Je to kombinácia viacúrovňového a viacnásobného dedičstva. Ak A, B, C a D sú triedy a B dedí z A a D dedí z B aj C, potom ide o hybridné dedičstvo.

Aké sú podobnosti medzi polymorfizmom a dedičnosťou v OOP?

Oba sú koncepty objektovo orientovaného programovania

Aký je rozdiel medzi polymorfizmom a dedičnosťou v OOP?

Rozdielny článok v strede pred tabuľkou

Polymorfizmus vs dedičnosť v OOP

Polymorfizmus je schopnosť objektu správať sa viacerými spôsobmi. Dedičstvom je vytvorenie novej triedy pomocou vlastností a metód existujúcej triedy.
Využitie
Polymorfizmus sa používa pre objekty na volanie ktorej formy metód v čase kompilácie a behu programu. Dedičnosť sa používa na opätovné použitie kódu.
Implementácia
Polymorfizmus je implementovaný v metódach. Dedenie je implementované v triedach.
Kategórie
Polymorfizmus možno rozdeliť na preťaženie a prepracovanie. Dedenie možno rozdeliť na jednoúrovňové, viacúrovňové, hierarchické, hybridné a viacnásobné dedičstvo.

Zhrnutie - Polymorfizmus vs dedičnosť v OOP

Polymorfizmus a dedičnosť sú hlavnými konceptmi objektovo orientovaného programovania. Rozdiel medzi Polymorfizmom a Dedičnosťou v OOP je v tom, že Polymorfizmus je spoločným rozhraním pre viac foriem a Dedičnosť je vytvorenie novej triedy pomocou vlastností a metód existujúcej triedy. Oba koncepty sa vo vývoji softvéru často používajú.

Stiahnite si súbor PDF Polymorfizmus vs dedičnosť v OOP

Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ho na offline účely podľa citačnej poznámky. Stiahnite si tu PDF verziu. Rozdiel medzi polymorfizmom a dedičnosťou v OOP

Odporúčaná: