Rozdíl Mezi Polymorfismem A Dědičností V OOP

Obsah:

Rozdíl Mezi Polymorfismem A Dědičností V OOP
Rozdíl Mezi Polymorfismem A Dědičností V OOP

Video: Rozdíl Mezi Polymorfismem A Dědičností V OOP

Video: Rozdíl Mezi Polymorfismem A Dědičností V OOP
Video: 6 - Dědičnost a polymorfismus 2024, Smět
Anonim

Klíčový rozdíl - polymorfismus vs. dědičnost v OOP

Objektově orientované programování (OOP) se běžně používá k vývoji softwaru. Mnoho programovacích jazyků podporuje objektově orientované programování. Objektově orientované programování je metodika pro návrh programu pomocí tříd a objektů. Třída v OOP je plán pro vytvoření objektu. Třída má vlastnosti a metody. Objekt je instancí třídy. OOP obsahuje čtyři pilíře jako Dědičnost, Polymorfismus, Abstrakce a Zapouzdření. Tento článek pojednává o rozdílu mezi polymorfismem a dědičností v OOP. Klíčovým rozdílem mezi Polymorfismem a Dědičností v OOP je, že Polymorfismus je schopnost objektu chovat se více způsoby a Dědičnost je vytvořit novou třídu pomocí vlastností a metod existující třídy.

OBSAH

1. Přehled a klíčový rozdíl

2. Co je polymorfismus v OOP

3. Co je dědičnost v OOP

4. Podobnosti mezi polymorfismem a dědičností v OOP

5. Porovnání vedle sebe - polymorfismus vs. dědičnost v OOP ve formě tabulky

6. Shrnutí

Co je polymorfismus v OOP?

Polymorfismus má označovat více forem. Jeden objekt může mít více chování. Polymorfismus lze rozdělit do dvou kategorií. Přetížují a převažují.

Přetížení

Viz níže uvedený program napsaný v Javě.

Rozdíl mezi polymorfismem a dědičností v OOP
Rozdíl mezi polymorfismem a dědičností v OOP

Obrázek 01: Přetížení

Podle výše uvedeného programu je vytvořen objekt typu A. Při volání obj.sum (); dá výstup související s metodou sum (). Při volání obj.sum (2,3); dá výstup související se součtem (int a, int b). Lze pozorovat, že stejný objekt má různé chování v závislosti na situaci. Pokud existuje více metod se stejným názvem, ale s různými parametry, je to známé jako přetížení. Je také známý jako statická vazba nebo polymorfismus času kompilace.

Převažující

Další typ polymorfismu převažuje. Viz níže uvedený program napsaný v Javě.

Rozdíl mezi polymorfismem a dědičností v OOP Obrázku 02
Rozdíl mezi polymorfismem a dědičností v OOP Obrázku 02

Obrázek 02: Přepsání

Podle výše uvedeného programu existuje metoda display () ve třídě A. Třída B sahá od třídy A. Proto jsou všechny metody ve třídě A přístupné třídě B. Je to dědičnost. Koncept dědičnosti je popsán dále později.

Třída B má také stejnou metodu display (). Při vytváření objektu typu A a volání metody zobrazení bude na výstupu B. Metoda zobrazení třídy A je přepsána metodou zobrazení třídy B. Takže výstup je B.

Pokud existují metody se stejným názvem a stejnými parametry, ale ve dvou různých třídách a jsou spojeny s dědičností, je to známé jako přepsání. Je také známý jako pozdní vazba, dynamická vazba, běhový polymorfismus. Přetížení a přepsání se nazývají polymorfismus. Jedná se o hlavní koncept v objektově orientovaném programování.

Co je dědičnost v OOP?

Viz níže uvedený program napsaný v Javě.

Klíčový rozdíl mezi polymorfismem a dědičností v OOP
Klíčový rozdíl mezi polymorfismem a dědičností v OOP

Obrázek 03: Příklad dědičnosti

Podle výše uvedeného programu má třída A metodu sum () a třída B má metodu sub ().

Metodu sum () třídy A lze použít ve třídě B pomocí klíčového slova extend. Opětovné použití vlastností a metod v existující třídě k vytvoření nové třídy se nazývá Inheritance. Ve třídě B dokonce neexistuje žádná metoda sum (); dědí se z třídy A. Dědičnost je užitečná pro opětovné použití kódu. Starší třída se nazývá základní třída, nadtřída nebo nadřazená třída. Odvozená třída se nazývá podtřída nebo podřízená třída.

Druhy dědičnosti

Existují různé typy dědičnosti. Jsou to dědičnost na jedné úrovni, dědičnost na více úrovních, dědičnost více, hierarchická dědičnost a hybridní dědičnost.

Single dědičnost

V Single Inheritance existuje jedna super třída a jedna podtřída. Pokud je třída A super třída a třída B je podtřída, všechny vlastnosti a metody třídy A jsou přístupné třídě B. Existuje pouze jedna úroveň; proto se nazývá jednoúrovňové dědictví.

Víceúrovňové dědictví

V Multi-Level Inheritance existují tři úrovně tříd. Střední třída dědí ze super třídy. Dílčí třída dědí z mezilehlé třídy. Pokud existují tři třídy jako A, B a C a A je super třída a B je střední třída. Pak B dědí z A a C dědí z B, je to víceúrovňová dědičnost.

Vícenásobné dědictví

V Multiple Inheritance existuje mnoho super tříd a jedna podtřída. Pokud existují tři super třídy zvané A, B, C a D je podtřídou, pak třída D může dědit z A, B a C. V programovacím jazyce C ++ je podporována vícenásobná dědičnost. Není podporován v programovacích jazycích, jako je Java nebo C #. Rozhraní se používají k implementaci vícenásobné dědičnosti v těchto jazycích.

Hierarchická dědičnost

Pokud existují třídy zvané A jako super třídy a B, C jsou podtřídy, mohou tyto podtřídy zdědit vlastnosti a metody třídy A. Tento typ dědičnosti je známý jako hierarchická dědičnost.

Hybridní dědičnost

Existuje další speciální typ dědičnosti, který se nazývá hybridní dědičnost. Jedná se o kombinaci víceúrovňového a vícenásobného dědictví. Pokud A, B, C a D jsou třídy a B dědí z A a D dědí z B i C, jedná se o hybridní dědičnost.

Jaké jsou podobnosti mezi polymorfismem a dědičností v OOP?

Oba jsou koncepty objektově orientovaného programování

Jaký je rozdíl mezi polymorfismem a dědičností v OOP?

Rozdílný článek uprostřed před tabulkou

Polymorfismus vs. dědičnost v OOP

Polymorfismus je schopnost objektu chovat se několika způsoby. Dědičností je vytvoření nové třídy pomocí vlastností a metod existující třídy.
Používání
Polymorfismus se používá pro objekty k volání které formy metod v době kompilace a běhu. Dědičnost se používá pro opětovné použití kódu.
Implementace
Polymorfismus je implementován v metodách. Dědičnost je implementována ve třídách.
Kategorie
Polymorfismus lze rozdělit na přetížení a přepsání. Dědičnost lze rozdělit na jednoúrovňové, víceúrovňové, hierarchické, hybridní a vícenásobné dědictví.

Shrnutí - Polymorfismus vs. dědičnost v OOP

Polymorfismus a dědičnost jsou hlavními koncepty objektově orientovaného programování. Rozdíl mezi Polymorfismem a Dědičností v OOP spočívá v tom, že Polymorfismus je společným rozhraním pro více forem a Dědičností je vytvoření nové třídy pomocí vlastností a metod existující třídy. Oba koncepty jsou široce používány ve vývoji softwaru.

Stáhněte si PDF Polymorphism vs Inheritance v OOP

Můžete si stáhnout verzi tohoto článku ve formátu PDF a použít jej pro offline účely podle citace. Stáhněte si zde PDF verzi Rozdíl mezi polymorfismem a dědičností v OOP

Doporučená: