Introduktion til tilsidesættelse i Java

  • Java har været et meget velkendt sprog til generelle formål, der er objektorienteret, klassebaseret og sammen med primitive datatyper, som også er kendt for at indeholde få implementeringsrelaterede afhængigheder, der gør anvendelsen af ​​applikationsudviklere meget let, da det giver dem let at skrive en gang og læse hvor som helst. Før man hopper på begrebet tilsidesættelse i detaljer, skal man være grundig med begrebet forældreklasse såvel som børneklasse.
  • Forældreklassen er superklassen, dvs. den klasse, der bor på toppen og har et unikt sæt af individuelle egenskaber og enheder, hvorimod barneklassen eller baseklassen er den, der findes i den nedre ende af forældreklassen og har en anden alligevel ligner sæt funktioner. Overstyring i Java udvider sig også til at få funktionerne i forældreklassen ved et IS-A-forhold og betegnes derfor som en arv.
  • Et sådant træk ved dette programmeringssprog er funktionen Overriding, hvorefter overstyring i ethvert objektorienteret programmeringssprog er en funktion, der gør brug af en underklasse eller en barneklasse for at tilvejebringe en særlig implementering af et programs metode, der allerede er på plads af en af ​​forældreklasserne eller superklasserne. Hvis underklassemetoden har samme navn, samme signatur eller parameter og lignende returtype eller en undertype, der bruges som en metode i superklassen, tilsidesætter underklasse-metoden superklasse-metoden.
  • Med andre ord, hvis en barneklasse eller en baseklasse eller en underklasse får det samme metodenavn, som er af den overordnede metode, kaldes det metode overstyres i Java. Eller for at sige det bedre, hvis en underklasse har leveret metodeimplementeringer, der allerede er erklæret af nogen af ​​forældreklasserne, kan det også være kendt at være metodeoverskridende i Java.

De vigtigste anvendelser ved Java-metodeoverskridelse er:

  1. Det bruges til at tilvejebringe en bestemt implementering af en metode, der allerede er leveret af dens tilsvarende superklasse.
  2. Begrebet metodeoverskridelse strækker sig også til polymorfisme af runtime.

Hvordan fungerer overstyring i Java?

I tilfælde af metodeoverskridelse, når en hvilken som helst metode i underklassen har det samme navn som dens overordnede metode, og opkaldet fra runtime genereres som sådan, at det peger på metodenavnet, der er fælles for begge, og en af ​​dem udfører er når metodeoverskridelse siges at eksistere. Den største udfordring, når du gør dette, er, når det samme metodenavn bruges til både forældre- og børneklasser, og ved kørsel, bliver opkaldet leveret på en sådan måde, at det skal svare til enten barneklassen eller forældreklassen. Kompilatoren af ​​sproget beslutter derefter dette ved at tage hensyn til antallet af parametre, typer af parametre osv. Baseret på det fastlægges det funktionsnavn, der skal kaldes. Overbelastning af metoder og metodeoverskridelse har været et af de afgørende begreber inden for kernejava, og det har betydning, da kompilatoren skal være klar over, hvilken metode der faktisk skal ringe til.

Eksempler på tilsidesættelse i Java

Hver gang et funktionsnavn har det samme navn som navnet på den overordnede klassens navn, kan det siges, at denne funktion findes specielt ved kørselstidsmekanisme. Her er et simpelt eksempel til at forklare dette koncept i detaljer. For det første drøfter vi problemet uden at tilsidesætte og derefter hvorfor det kom til.

Første eksempel:

class MyVehicle(
void run()(
System.out.println("It's a running vehicle");)
)
class MyCar extends MyVehicle(
public static void main(String args())(
MyCar obj = new MyCar();
obj.run();
)
)

Produktion:

Outputet er: Det er et kørende køretøj. Nu måtte jeg give en specifik implementering af metodekørslen (), der findes i underklassen, og derfor kunne vi gøre brug af metoden overstyrende funktion i fremtiden.

Andet eksempel:

class MyVehicle(
void run()(System.out.println("My vehicle is running");)
) class MyCar2 extends MyVehicle(
void run()(System.out.println("My car is running");)
public static void main(String args())(
MyCar2 obj = new MyCar2();
obj.run();
)
)

Produktion:

Min bil, der kører, er output fra ovenstående problemeksempel.

Forklaring: Hvis man nu ser nøje på, hvad der skete i begge eksempler, taler det første eksempel om at udvide barneklassen med forældreklassen, hvilket også er tilfældet i det andet tilfælde. Men i dette eksempel udvider MyCar2 MyVehicle og som defineret ved definitionen af ​​metode, der tilsidesætter beslutningen til opkaldet, foretages det ved kørsel, dvs. på det tidspunkt, hvor metoden () blev kaldt. Når denne metode blev kaldt, gik opkaldet først til barneklassen eller baseklassen, da den allerede udviste alle egenskaberne for forældreklassen og derfor ville være tilstrækkelig. Derefter når den nåede basisklasse-sektionen og sikrede, at arven er et IS-A-forhold sammen med nøgleordet udvides, udskrev det med succes output: Min bil kører.

Regler for metodeoverskridelse i Java

  1. Metodens navn skal være det samme for både forældre og børneklasse.
  2. Parameteren for baseklassen skal være den samme som for den overordnede klasse.
  3. Forholdet skal være et IS-A-forhold mellem børneklassen og forældreklassen.

Konklusion

Java har været et meget gammelt programmeringssprog, og i dag bruges det næsten inden for alle teknologisfærer. Derfor skal man være stærkt opmærksom på de typer og koncepter, der bruges i dette robuste programmeringssprog. Java-sproget er typisk opdelt i to segmenter, dvs. Core Java og Advanced Java. Begrebet metodeoverskridende udgør en del af Core Java, hvor det gør brug af funktionerne i objektorienterede programmeringsteknikker såsom Arv. Dette er et meget vigtigt emne, som du bestemt bør forstå detaljeret, hvis du ønsker at arbejde på dette sprog. Håber du kunne lide vores artikel. Bliv hos os for flere artikler som disse.

Anbefalede artikler

Dette er en guide til tilsidesættelse i Java. Her diskuterer vi introduktionen til tilsidesættelse i Java, typer af tilsidesættelse i Java og regler for metodeoverskridelse i Java. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. JavaScript-objekter
  2. Arrays-metoder i JavaScript
  3. Java-kommentarer
  4. Overstyring i OOP'er
  5. Python-overbelastning

Kategori: