Co je podtřída a nadtřída v dědičnosti Java

Co Je Podtrida A Nadtrida V Dedicnosti Java



V Javě mohou nastat určité případy, kdy vývojář potřebuje integrovat více vzájemně souvisejících funkcí. Například rozdělení kódu pro lepší pochopení nebo připojení funkcí v souladu s aktualizacemi. V takových případech se „ podtřídy ' a ' supertřídy ” hrají zásadní roli při efektivním přiřazování funkcí kódu.

Tento blog bude diskutovat o využití „podtřídy“ a „nadtřídy“ v dědičnosti Java.

Co je podtřída v dědičnosti Java?

A ' podtřída ' tj., ' dítě “ odpovídá třídě dědící „ supertřída ', tj., ' rodič “. Dědí vlastnosti Superclass a má také své vlastní atributy. Pro vytvoření podtřídy nadřazené/nadřazené třídy použijte „ rozšiřuje ” klíčové slovo v deklaraci třídy. Podtřída může dědit proměnné a metody z odpovídající nadtřídy. Tato třída se také může rozhodnout pro skrytí proměnných nebo přepsání metod zděděných z nadtřídy.







Co je supertřída v dědičnosti Java?

' supertřída ” je však třída, ze které lze vytvořit více podtříd. Podtřídy dědí vlastnosti/funkce nadtřídy. Tato třída se také nazývá „ rodič “ nebo „ základna “třída.



Příklad: Vytvoření podtřídy a nadtřídy v Java Inheritance

V tomto příkladu podtřída (dítě) zdědí nadtřídu (rodič) přístupem k členským proměnným a metodám ze své nadtřídy.



Kód supertřídy

Přehled níže uvedených „ supertřída ' kód:





classsuperClass {
Tětiva A = 'David' ;
veřejnost ( int A, int b ) {
vrátit se A + b ;
} }

Ve výše uvedeném kódu:

  • Nejprve vytvořte nadtřídu s názvem „ supertřída “.
  • V jeho definici inicializujte „ Tětiva “proměnná.
  • Definujte také funkci s názvem „ součet() “.
  • Parametry funkce ukazují na předané hodnoty, které je třeba vyhodnotit jako součet.

Kód podtřídy

Nyní přejděme k „ podtřída ' kód:



classsubClassextendssuperClass {
veřejnost Tětiva konkat ( ) {
vrátit se A. konkat ( 'ly' ) ;
} }

Ve výše uvedených řádcích kódu:

  • Vytvořte podtřídu s názvem „ podtřída 'zdědí nadtřídu' supertřída “ prostřednictvím „ rozšiřuje “.
  • V definici třídy deklarujte funkci „ spojit() “.
  • V definici (funkce) zřetězte uvedený řetězec s vyvolanou řetězcovou proměnnou z nadtřídy pomocí „ spojit() “ metoda.

Hlavní kód

Nyní si projdeme následující „ hlavní ' kód:

třídapodnadtřída {
publicstaticvoidmain ( Tětiva argumenty [ ] ) {
objekt podtřídy = Nový podtřída ( ) ;
Systém . ven . println ( objekt. součet ( 2 , 3 ) ) ;
Systém . ven . println ( objekt. konkat ( ) ) ;
} }

Ve výše uvedeném bloku kódu:

  • Vytvořte podřízený objekt třídy pomocí „ Nový klíčové slovo a podtřída() ” konstruktor, resp.
  • V dalším kroku vyvolejte funkci nadtřídy s názvem „ součet() ” přes podřízený objekt třídy a předáním uvedených celých čísel vrátíte odpovídající součet.
  • Nakonec přistupte k jeho (podtřídě) vlastní funkci “ spojit() “ a připojte řetězec.

Celý kód

classsuperClass {
Tětiva A = 'David' ;
veřejnost int součet ( int A, int b ) {
vrátit se A + b ;
} }
classsubClassextendssuperClass {
veřejnost Tětiva konkat ( ) {
vrátit se A. konkat ( 'ly' ) ;
} }
třídapodnadtřída {
veřejnost statický prázdnota hlavní ( Tětiva argumenty [ ] ) {
objekt podtřídy = Nový podtřída ( ) ;
Systém . ven . println ( objekt. součet ( 2 , 3 ) ) ;
Systém . ven . println ( objekt. konkat ( ) ) ;
} }

Výstup

Z vygenerovaného výsledku lze provést následující analýzy:

  • Podtřída zdědila členskou proměnnou, tj. A “ ze své supertřídy.
  • Podtřída také zdědila metodu, tj. součet() ” ze své nadtřídy přes vytvořený objekt a vrátí součet.
  • Tato (podtřída) si zachovala své vlastní atributy a funkce nedotčené.

Závěr

Podtřída, tj. dítě “ odpovídá třídě dědící nadtřídu, tj. rodič “ a nadtřída je však třída, ze které lze zdědit více podtříd. Je taková, že první třída zdědí vlastnosti své odpovídající nadtřídy a má také své vlastní atributy. Tento blog demonstroval využití podtřídy a nadtřídy v dědičnosti Java.