Klíčový rozdíl - nadtřída vs podtřída
V objektově orientovaném programování (OOP) je systém modelován pomocí objektů. Tyto objekty jsou vytvořeny pomocí třídy. Třída je podrobný plán nebo popis k vytvoření objektu. Vytváření objektů je také známé jako vytváření instancí objektů. Každý objekt komunikuje s jinými objekty. Pomocí Objektově orientovaného programování lze vyvinout program nebo software. Dědičnost je v OOP hlavním konceptem. Zlepšuje opětovnou použitelnost kódu. Spíše než implementovat program od začátku, umožňuje dědění vlastností a metod již existující třídy na novou třídu. Pomáhá to, aby byl program lépe zvládnutelný. Nadtřída a podtřída jsou dva výrazy, které souvisejí s dědičností. Tento článek pojednává o rozdílech mezi nadtřídou a podtřídou. Klíčovým rozdílem mezi nadtřídou a podtřídou je, že nadtřída je existující třída, ze které jsou odvozeny nové třídy, zatímco podtřída je nová třída, která dědí vlastnosti a metody nadtřídy.
OBSAH
1. Přehled a klíčový rozdíl
2. Co je nadtřída
3. Co je podtřída
4. Podobnosti mezi nadtřídou a podtřídou
5. Porovnání vedle sebe - nadtřída vs. podtřída ve formě tabulky
6. Shrnutí
Co je to Superclass?
V dědičnosti je existující třída, ze které jsou odvozeny nové třídy, známá jako nadtřída. Je také známá jako nadřazená třída nebo základní třída.
Existují různé typy dědičnosti. Jsou ilustrovány pomocí následujících příkladů. Zvažte AB a C jako třídy.
Obrázek 01: Typy dědičnosti
Obrázek 02: Hybridní dědičnost
Podle výše uvedených diagramů se Superclasses liší od každého typu dědičnosti. V dědičnosti na jedné úrovni je A nadtřídou. Ve víceúrovňové dědičnosti A je nadtřída pro B a B je nadtřída pro C. V hierarchické dědičnosti A je nadtřída pro B i C. Ve více dědičnostech jsou A i B nadtřídami pro C.
Hybridní dědičnost je kombinací víceúrovňových a vícenásobných dědičností. V diagramu na levé straně je A superclass pro B, C a B, C jsou superclass pro D. V diagramu na pravé straně A je superclass pro B a B, D jsou superclass pro C.
Viz níže uvedený program napsaný v Javě.
Obrázek 03: Program dědičnosti v Javě
Podle výše uvedeného programu má třída A metody sum () a sub (). Třída B má metodu multiply (). Třída B rozšiřuje třídu A. Proto jsou vlastnosti a metody třídy A přístupné třídě B. Proto je třída A nadtřídou. K vytvoření objektu se použije referenční typ třídy B. Takže všechny metody, jako je sum (), sub () a multiply (), jsou přístupné objektu. Pokud se pro vytvoření objektu používá referenční typ Superclass, členové třídy B nemohou být přístupní. např. A obj = new B (); Proto nemůže odkaz na nadtřídu volat metodu multiply (), protože tato metoda patří do třídy B.
Co je podtřída?
Podle výše uvedených diagramů se podtřídy liší od každého typu dědičnosti. V Single Inheritance je B podtřída. Ve víceúrovňové dědičnosti je B podtřída A a C je podtřída B. V hierarchické dědičnosti B a C jsou podtřídy A. Ve více dědičnostech je C podtřída pro A a B.
V hybridní dědičnosti je diagram vlevo, B a C jsou podtřídy A. D je podtřída B a C. V diagramu vpravo je B podtřída pro A. C je podtřída B a D.
Podle výše uvedeného programu Dědičnost třída B rozšiřuje třídu A. Proto jsou všechny vlastnosti a metody třídy A přístupné třídě B. Třída B je nová třída, která dědí po třídě A. Je známá jako podtřída. Je také známá jako podřízená třída nebo odvozená třída. Třída B má metodu multiply () a může také přistupovat k metodám sum () a sub () třídy A pomocí dědičnosti.
Jaká je podobnost mezi nadtřídou a podtřídou?
Oba souvisí s dědičností
Jaký je rozdíl mezi nadtřídou a podtřídou?
Rozdílný článek uprostřed před tabulkou
Superclass vs Subclass |
|
Při implementaci dědičnosti je existující třída, ze které jsou odvozeny nové třídy, Superclass. | Při implementaci dědičnosti je třída, která dědí vlastnosti a metody z nadtřídy, podtřída. |
Synonyma | |
Nadtřída je známá jako základní třída, nadřazená třída. | Podtřída je známá jako odvozená třída, podřízená třída. |
Funkčnost | |
Nadtřída nemůže používat vlastnosti a metody podtřídy. | Podtřída může používat vlastnosti a metody nadtřídy. |
Dědičnost na jedné úrovni | |
Existuje jedna nadtřída. | Existuje jedna podtřída. |
Hierarchická dědičnost | |
Existuje jedna nadtřída | Existuje mnoho podtříd. |
Vícenásobné dědictví | |
Existuje mnoho superclassů. | Existuje jedna podtřída. |
Shrnutí - Superclass vs Subclass
Dědičnost je pojem OOP. Umožňuje použití vlastností a metod existující třídy pro přístup k nové třídě. Zděděnou třídou je nadtřída a odvozenou třídou je podtřída. Rozdíl mezi nadtřídou a podtřídou spočívá v tom, že nadtřída je existující třída, ze které jsou odvozeny nové třídy, zatímco podtřída je nová třída, která dědí vlastnosti a metody nadtřídy.
Stáhněte si PDF Superclass vs Subclass
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 verzi PDF Rozdíl mezi nadtřídou a podtřídou