Tento článek se bude zabývat použitím a implementací přepisování metod v Javě.
Co je „přepisování metody“ v Javě?
Pokud podřízená třída obsahuje podobnou metodu, jaká je uvedena v její nadřazené třídě, označuje se jako „ přeřazení metody “ v Javě. Tím vstoupí v platnost funkcionality podřízené třídy, tj. přepsaná metoda.
Úvahy o „přepisování metody“ v Javě
- Metoda musí obsahovat stejný název jako v její nadřazené třídě.
- Metoda by měla mít stejný parametr jako v její nadřazené třídě.
- Metoda přiřazená jako „ finále “ nelze přepsat.
Příklad 1: Přepsání metody v Javě
V tomto příkladu je metodika přepsání metody, tj. funkce “ lze provést prostřednictvím dědictví:
třída Rodič {
veřejnost prázdnota ukázat se ( ) {
Systém . ven . println ( 'Tohle je Linuxhint!' ) ;
} }
třída Dítě rozšiřuje Rodič {
veřejnost prázdnota ukázat se ( ) {
Systém . ven . println ( 'Tohle je Java!' ) ;
} }
veřejnost třída Příklad {
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Dítě obj = Nový Dítě ( ) ;
obj. ukázat se ( ) ;
} }
Ve výše uvedené ukázce použijte následující kroky:
- Nejprve vytvořte nadřazenou (super) třídu s názvem „ Rodič “.
- V rámci této třídy definujte funkci s názvem „ showOut() ” a zobrazí danou zprávu v její (funkci) definici.
- Poté vytvořte podřízenou (pod)třídu s názvem „ Dítě 'zdědí' Rodič “třída přes “ rozšiřuje “.
- V této třídě přepište funkci definovanou v její nadřazené třídě tím, že ji definujete s identickým názvem “ showOut() “ a zobrazí uvedenou zprávu.
- V main vytvořte objekt podřízené třídy pomocí „ Nový klíčové slovo a Dítě() “konstruktor.
- Nakonec vyvolejte funkci „ showOut() “ odkazem na vytvořený objekt. Tím se vyvolá přepsaná funkce namísto výchozí funkce v nadřazené třídě.
Výstup
Ve výše uvedeném výstupu lze analyzovat, že funkce přepsání vstoupí v platnost.
Příklad 2: Využití „super“ klíčového slova při přepisování metody pomocí Javy
V tomto konkrétním příkladu „ super Klíčové slovo ” lze přidružit za účelem vyvolání funkcí výchozí, tj. rodičovské i přepsané metody:
třída Rodič {veřejnost prázdnota ukázat se ( ) {
Systém . ven . println ( 'Tohle je Linuxhint!' ) ;
} }
třída Dítě rozšiřuje Rodič {
veřejnost prázdnota ukázat se ( ) {
super . ukázat se ( ) ;
Systém . ven . println ( 'Tohle je Java!' ) ;
} }
veřejnost třída Příklad {
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Dítě obj = Nový Dítě ( ) ;
obj. ukázat se ( ) ;
} }
Ve výše uvedeném bloku kódu:
- Podobně vytvořte nadřazenou třídu s názvem „ Rodič “ a akumulovat funkci “ showOut() ” v něm se zobrazením poskytnuté zprávy.
- V dalším kroku vytvořte podřízenou třídu s názvem „ Dítě ” zdědí nadřazenou třídu.
- V rámci této třídy obdobně přepíše identickou funkci. Spojte také „ super ” klíčové slovo s funkcí pro vyvolání výchozích, tj. funkcí nadřazené třídy.
- Nakonec vytvořte objekt podřízené třídy a vyvolejte přepsanou funkci.
- Algoritmus: Provedení bude provedeno takovým způsobem, že při vyvolání přepsané funkce a „ super Klíčové slovo ” bude odkazovat na funkci rodičovské třídy. Výsledkem bude protokolování funkcí nadřazené i podřízené třídy současně na konzole.
Výstup
Výše uvedený výstup znamená, že účinek přepsané funkce lze zrušit také pomocí „ super “.
Příklad 3: Přepsání „konečné“ metody v Javě
V tomto příkladu lze funkci alokovat jako „ finále ” v nadřazené třídě a později analyzován přístupem v její podřízené třídě:
třída Rodič {finále veřejnost prázdnota ukázat se ( ) {
Systém . ven . println ( 'Tohle je Linuxhint!' ) ;
} }
třída Dítě rozšiřuje Rodič {
veřejnost prázdnota ukázat se ( ) {
Systém . ven . println ( 'Tohle je Java!' ) ;
} }
veřejnost třída Příklad {
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Dítě obj = Nový Dítě ( ) ;
obj. ukázat se ( ) ;
} }
Podle výše uvedeného kódu použijte níže uvedené kroky:
- Vytvořte nadřazenou třídu ' Rodič “.
- V rámci této třídy přidělte funkci „ showOut() ' tak jako ' finále “, jak naznačuje předchozí klíčové slovo.
- Nyní zděďte třídu dítěte ' Dítě “ z bývalé diskutované třídy. Zde přepište přidělené „ finále ” funkce v nadřazené třídě.
- Především vytvořte objekt „ Dítě ” a vyvolejte přepsanou funkci.
Výstup
Spuštění výše uvedeného kódu zaznamená zobrazenou chybu, protože „ finále ” metodu nelze přepsat.
Závěr
Pokud podřízená třída obsahuje podobnou metodu, jaká je určena v její nadřazené třídě, odpovídá to přepsání metody v Javě. Tento přístup potlačuje předchozí metody a implementuje druhé. Nadřazené lze zajistit prostřednictvím „ super ' nebo ' finále “ klíčová slova různými způsoby. Tento blog pojednával o konceptu přepisování metod v Javě.