Mens du oppdaterer dataene i Java, kan det være et krav om å overstyre noen spesifikke funksjonaliteter som holder koden intakt. For eksempel å legge til noen nye funksjonaliteter i en overstyrt funksjon slik at de tidligere funksjonene gjenstår. I slike situasjoner, “
Metode overstyrer”I Java gjør underverker med å oppdatere de akkumulerte funksjonene fra tid til annen ved utviklerens slutt.
Denne artikkelen vil utdype bruken og implementeringen av metoden som overstyrer i Java.
Hva er "metode som overstyrer" i Java?
Hvis barneklassen inneholder en lignende metode som spesifisert i foreldreklassen, blir den referert til som "Metode overstyrer”I Java. Ved å gjøre det, funksjonalitetene til barneklassen, jeg.e., den overstyrte metoden, trer i kraft.
Hensyn til "metodeoverstyring" i Java
- Metoden må inneholde det samme navnet som i foreldreklassen.
- Metoden skal ha en identisk parameter som i foreldreklassen.
- Metoden tildelt som “endelig”Kan ikke overstyres.
Eksempel 1: Overstyring av en metode i Java
I dette eksemplet, metodikken for å overstyre en metode, i.e., “funksjon”Kan utføres via arv:
Klasseforeldre
public void showout ()
System.ute.Println ("Dette er Linuxhint!");
Klassebarn utvider foreldre
public void showout ()
System.ute.Println ("Dette er Java!");
Eksempel på offentlig klasse
public static void main (String [] args)
Barn obj = nytt barn ();
obj.showout ();
I demonstrasjonen ovenfor, bruk følgende trinn:
- For det første, lage en foreldre (super) klasse som heter “Foreldre”.
- Innenfor denne klassen, definer en funksjon som heter “Showout ()”Og vis den gitte meldingen i sin (funksjon) definisjon.
- Etter det, opprette et barn (sub) klasse som heter “Barn”Arver“Foreldre”Klasse via“strekker”Nøkkelord.
- I denne klassen kan du overstyre funksjonen som er definert i foreldreklassen ved å definere den med det samme navnet "Showout ()”Og vis den uttalte meldingen.
- I hovedsak kan du lage et objekt av barneklassen via "ny”Nøkkelord og“Barn()”Konstruktør.
- Til slutt, påkalle funksjonen “Showout ()”Ved å referere til det opprettede objektet. Dette vil påkalle den overstyrte funksjonen i stedet for standard en i foreldreklassen.
Produksjon
I outputten kan det analyseres at sistnevnte funksjon, i.e., Overridden trer i kraft.
Eksempel 2: Bruk av "Super" nøkkelord i metoden som overstyrer ved bruk av Java
I dette spesielle eksemplet "super”Søkeord kan være tilknyttet for å påkalle funksjonalitetene til begge standard, i.e., Foreldre og den overstyrte metoden:
Klasseforeldre
public void showout ()
System.ute.Println ("Dette er Linuxhint!");
Klassebarn utvider foreldre
public void showout ()
super.showout ();
System.ute.Println ("Dette er Java!");
Eksempel på offentlig klasse
public static void main (String [] args)
Barn obj = nytt barn ();
obj.showout ();
I kodeblokken ovenfor:
- Lag på samme måte en foreldreklasse som heter “Foreldre”Og akkumulere funksjonen”Showout ()”I den, viser den medfølgende meldingen.
- I neste trinn, lag en barneklasse som heter “Barn”Arver foreldreklassen.
- Innenfor denne klassen overstyrer på samme måte den identiske funksjonen. Også knytte "super”Nøkkelord med funksjonen for å påkalle standard, i.e., Foreldreklassefunksjonens funksjonalitet.
- Til slutt, lag et objekt i barneklassen og påkalle den overstyrte funksjonen.
- Algoritme: Utførelsen vil bli gjort på en slik måte at når den overstyrte funksjonen påberopes, og "super”Søkeord vil referere til foreldreklassefunksjonen. Dette vil resultere i å logge funksjonalitetene til både foreldre- og barneklasser samtidig på konsollen.
Produksjon
Ovennevnte utgang betegner at effekten av den overstyrte funksjonen kan kanselleres også via "super”Nøkkelord.
Eksempel 3: Overstyring av "endelige" metoden i Java
I dette eksemplet kan en funksjon tildeles som "endelig”I foreldreklassen og senere analysert ved å få tilgang til den i barneklassen:
Klasseforeldre
endelig public void showout ()
System.ute.Println ("Dette er Linuxhint!");
Klassebarn utvider foreldre
public void showout ()
System.ute.Println ("Dette er Java!");
Eksempel på offentlig klasse
public static void main (String [] args)
Barn obj = nytt barn ();
obj.showout ();
I henhold til ovennevnte kode, bruk de undergitte trinnene:
- Opprett overordnet klasse “Foreldre”.
- I denne klassen, tildeler du funksjonen “Showout ()" som "endelig”, Som indikert av det foregående nøkkelordet.
- Nå, arve barneklassen “Barn”Fra den førstnevnte diskuterte klassen. Her overstyrer den tildelte “endelig”Funksjon i foreldreklassen.
- I hovedsak kan du lage et objekt av "Barn”Klasse og påkalle den overstyrte funksjonen.
Produksjon
Utførelsen av ovennevnte kode vil logge den viste feilen siden “endelig”Metode kan ikke overstyres.
Konklusjon
Hvis barneklassen inneholder en lignende metode som spesifisert i foreldreklassen, tilsvarer den å overstyre en metode i Java. Denne tilnærmingen overstyrer de tidligere metodene og implementerer sistnevnte. Overstyring kan imøtekommes via "super" eller "endelig”Nøkkelord på forskjellige måter. Denne bloggen diskuterte begrepet metode som overstyrer i Java.