Čo je prepísanie metódy v jazyku Java

Co Je Prepisanie Metody V Jazyku Java



Pri aktualizácii údajov v jazyku Java môže existovať požiadavka na prepísanie niektorých špecifických funkcií, aby sa kód zachoval neporušený. Napríklad pridanie niektorých nových funkcií do prepísanej funkcie tak, aby zostali pôvodné funkcie. V takýchto situáciách „ prepísanie metódy “ v jazyku Java robí zázraky pri aktualizácii nahromadených funkcií z času na čas na konci vývojára.

Tento článok sa bude zaoberať používaním a implementáciou prepisovania metód v jazyku Java.

Čo je to „prepísanie metódy“ v jazyku Java?

Ak podradená trieda obsahuje podobnú metódu, ako je špecifikovaná v jej rodičovskej triede, označuje sa ako „ prepísanie metódy “ v jazyku Java. Týmto vstupujú do platnosti funkcie podradenej triedy, t. j. prepísaná metóda.







Úvahy o „prepisovaní metódy“ v jazyku Java

  • Metóda musí obsahovať rovnaký názov ako v jej nadradenej triede.
  • Metóda by mala mať rovnaký parameter ako v jej rodičovskej triede.
  • Metóda priradená ako „ Konečný “ nemožno prepísať.

Príklad 1: Prepísanie metódy v jazyku Java

V tomto príklade je metodika prepísania metódy, t.j. funkciu “ možno vykonať prostredníctvom dedenia:



trieda Rodič {

verejnosti neplatné ukázať sa ( ) {

Systém . von . println ( 'Toto je Linuxhint!' ) ;

} }

trieda Dieťa predlžuje Rodič {

verejnosti neplatné ukázať sa ( ) {

Systém . von . println ( 'Toto je Java!' ) ;

} }

verejnosti trieda Príklad {

verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {

Dieťa obj = Nový Dieťa ( ) ;

obj. ukázať sa ( ) ;

} }

Vo vyššie uvedenej ukážke použite nasledujúce kroky:



  • Najprv vytvorte rodičovskú (super) triedu s názvom „ Rodič “.
  • V rámci tejto triedy definujte funkciu s názvom „ showOut() ” a zobrazí danú správu v jej (funkcii) definícii.
  • Potom vytvorte podtriedu (podtriedu) s názvom „ Dieťa „zdediac“ Rodič “trieda cez “ predlžuje kľúčové slovo.
  • V tejto triede prepíšte funkciu definovanú v jej nadradenej triede tak, že ju definujete s rovnakým názvom “ showOut() “ a zobrazí sa uvedená správa.
  • Hlavne vytvorte objekt podradenej triedy cez „ Nový kľúčové slovo a dieťa() “konštruktér.
  • Nakoniec vyvolajte funkciu „ showOut() “ odkazom na vytvorený objekt. Toto vyvolá prepísanú funkciu namiesto predvolenej funkcie v rodičovskej triede.

Výkon





Vo vyššie uvedenom výstupe je možné analyzovať, že táto posledná funkcia, t. j. prepísaná, nadobudne účinnosť.



Príklad 2: Použitie „super“ kľúčového slova pri prepisovaní metódy pomocou Java

V tomto konkrétnom príklade „ Super Kľúčové slovo ” možno priradiť, aby sa vyvolali funkcie predvolenej, t. j. rodičovskej a prepísanej metódy:

trieda Rodič {

verejnosti neplatné ukázať sa ( ) {

Systém . von . println ( 'Toto je Linuxhint!' ) ;

} }

trieda Dieťa predlžuje Rodič {

verejnosti neplatné ukázať sa ( ) {

Super . ukázať sa ( ) ;

Systém . von . println ( 'Toto je Java!' ) ;

} }

verejnosti trieda Príklad {

verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {

Dieťa obj = Nový Dieťa ( ) ;

obj. ukázať sa ( ) ;

} }

Vo vyššie uvedenom bloku kódu:

  • Podobne vytvorte rodičovskú triedu s názvom „ Rodič “ a akumulovať funkciu “ showOut() “, pričom sa zobrazí poskytnutá správa.
  • V ďalšom kroku vytvorte podradenú triedu s názvom „ Dieťa ” dedia nadradenú triedu.
  • V rámci tejto triedy podobne prepíše identickú funkciu. Pripojte tiež „ Super ” kľúčové slovo s funkciou na vyvolanie predvolených, t. j. funkcií funkcie nadradenej triedy.
  • Nakoniec vytvorte objekt podradenej triedy a vyvolajte prepísanú funkciu.
  • Algoritmus: Vykonanie sa vykoná takým spôsobom, že pri vyvolaní prepísanej funkcie a „ Super Kľúčové slovo ” bude odkazovať na funkciu rodičovskej triedy. Výsledkom bude súčasné zaznamenávanie funkcií rodičovskej aj podradenej triedy na konzole.

Výkon

Vyššie uvedený výstup znamená, že efekt prepísanej funkcie je možné zrušiť aj pomocou „ Super kľúčové slovo.

Príklad 3: Prepísanie „finálnej“ metódy v jazyku Java

V tomto príklade možno funkciu prideliť ako „ Konečný ” v rodičovskej triede a neskôr analyzované prístupom v jej podradenej triede:

trieda Rodič {

Konečný verejnosti neplatné ukázať sa ( ) {

Systém . von . println ( 'Toto je Linuxhint!' ) ;

} }

trieda Dieťa predlžuje Rodič {

verejnosti neplatné ukázať sa ( ) {

Systém . von . println ( 'Toto je Java!' ) ;

} }

verejnosti trieda Príklad {

verejnosti statické neplatné Hlavná ( Reťazec [ ] args ) {

Dieťa obj = Nový Dieťa ( ) ;

obj. ukázať sa ( ) ;

} }

Podľa vyššie uvedeného kódu použite nižšie uvedené kroky:

  • Vytvorte nadradenú triedu ' Rodič “.
  • V rámci tejto triedy prideľte funkciu „ showOut() “ ako “ Konečný “, ako je uvedené v predchádzajúcom kľúčovom slove.
  • Teraz zdeď detskú triedu “ Dieťa “ z bývalej diskutovanej triedy. Tu prepíšte pridelené „ Konečný ” v nadradenej triede.
  • Hlavne vytvorte objekt „ Dieťa ” a vyvolajte prepísanú funkciu.

Výkon

Spustenie vyššie uvedeného kódu zaznamená zobrazenú chybu, pretože „ Konečný ” metódu nemožno prepísať.

Záver

Ak podradená trieda obsahuje podobnú metódu, ako je špecifikovaná v jej rodičovskej triede, zodpovedá to prepísaniu metódy v jazyku Java. Tento prístup má prednosť pred predchádzajúcimi metódami a implementuje druhé. Nadštandardné vybavenie je možné zabezpečiť prostredníctvom „ Super ' alebo ' Konečný ” kľúčové slová rôznymi spôsobmi. Tento blog diskutoval o koncepte prepisovania metódy v jazyku Java.