Introduktion till åsidosättande i Java

  • Java har varit ett mycket välkänt allmänt språk som är objektorienterat, klassbaserat till sin natur tillsammans med primitiva datatyper som också är kända för att innehålla få implementeringsrelaterade beroenden som gör att applikationsutvecklarna fungerar mycket enkelt eftersom det ger dem lätt att skriva en gång och läsa var som helst. Innan man hoppar på begreppet att åsidosätta i detalj bör man vara noggrant med begreppet förälderklass och barnklass.
  • Förälderklassen är superklassen, dvs klassen som ligger på toppen och har en unik uppsättning individuella egenskaper och enheter medan barnklassen eller basklassen är den som finns i den nedre änden av förälderklassen och har en annan ändå liknar uppsättningen funktioner. Överträning i Java sträcker sig också för att få funktionerna i förälderklassen genom en IS-A-relation och betecknas därför som en arv.
  • En sådan egenskap hos detta programmeringsspråk är Överridningsfunktionen enligt vilken överdrivande i vilket objektorienterat programmeringsspråk som helst blir en funktion som använder en underklass eller en barnklass för att tillhandahålla en viss implementering av ett programs metod som redan är på plats av en av förälderklasserna eller superklassarna. Om underklassmetoden har samma namn, samma signatur eller parameter och liknande returtyp eller en subtyp som används som en metod i superklass, åsidosätter underklassmetoden superklassklassmetoden.
  • Med andra ord, om en barnklass eller en basklass eller en underklass får samma metodnamn som är av överordnad metod, kallas det metodöverskridande i Java. Eller för att uttrycka det bättre om en underklass har tillhandahållit metodimplementeringar som redan har deklarerats av någon av föräldraklasserna, kan det också vara känt att det är metodövervägande i Java.

De viktigaste användningarna av Java-metodöverskridande är:

  1. Det används för att tillhandahålla en viss implementering av en metod som redan har tillhandahållits av dess motsvarande superklass.
  2. Begreppet metodöverskridande omfattar också runtime polymorfism.

Hur fungerar åsidosättande i Java?

Vid metodöverskridande när någon metod i underklassen har samma namn som den överordnade metoden, och samtalet från runtime genereras som sådan att det pekar på metodnamnet som är gemensamt för båda och en av dem kör är när metoden åsidosätter sägs att existera. Den huvudsakliga utmaningen när du gör detta är när samma metodnamn används för både föräldrar och barnklasser och vid körning tillhandahålls samtalet på ett sådant sätt att det måste motsvara antingen barnklassen eller förälderklassen. Kompilatorn av språket bestämmer sedan detta genom att ta hänsyn till antalet parametrar, typer av parametrar osv. Baserat på vilken funktionsnamn som ska anropas bestäms. Metodöverbelastning och metodöverskridande har varit ett av de avgörande begreppen inom området java-java och det har betydelse eftersom kompilatorn måste vara tydlig på vilken metod som faktiskt ska ringa.

Exempel på åsidosättande i Java

Varje gång ett funktionsnamn har samma namn som det för överordnade klassnamnet, kan man säga att den här funktionen existerar särskilt vid körtidsmekanismen. Här är ett enkelt exempel för att förklara detta koncept i detalj. För det första kommer vi att diskutera problemet utan att åsidosätta och därefter varför det kom till.

Första exempel:

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:

Utgången är: Det är ett löpande fordon. Nu var jag tvungen att tillhandahålla en specifik implementering av metodkörningen () som tillhandahålls i underklassen och därför kunde vi använda metoden åsidosättande funktionen i framtiden.

Andra exempel:

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 kör är resultatet från ovanstående problemexempel.

Förklaring: Om du nu tittar noga på vad som hände i båda exemplen talar det första exemplet om att utöka barnklassen med förälderklassen, vilket också är fallet i det andra fallet. Men i det här exemplet utvidgar MyCar2 MyVehicle och som definieras av definitionen av metod som åsidosätter beslutet till samtalet görs vid körning, dvs vid tidpunkten () kördes metoden. När den här metoden kallades gick samtalet först till barnklassen eller basklassen eftersom det redan utökade alla föräldraklassens egenskaper och därför skulle vara fullt tillräckligt. Sedan när den nådde basklassavsnittet och såg till att arvet är ett IS-A-förhållande tillsammans med nyckelordet sträcker sig, tryckte det framgångsrikt ut: Min bil kör.

Metoderegler Överskridande i Java

  1. Metodens namn ska vara samma för både föräldrar och barnklass.
  2. Parametern för basklassen ska vara densamma som för föräldraklassen.
  3. Förhållandet måste vara en IS-A-relation mellan barnklass och förälderklass.

Slutsats

Java har varit ett mycket gammalt programmeringsspråk och idag används det nästan inom alla teknikområden. Därför måste man vara starkt medveten om de typer och begrepp som används i detta robusta programmeringsspråk. Java-språket är vanligtvis uppdelat i två segment, dvs Core Java och Advanced Java. Begreppet metodöverskridande utgör en del av Core Java där det utnyttjar funktionerna i objektorienterade programmeringstekniker som Arv. Detta är ett mycket viktigt ämne som du definitivt bör förstå i detalj om du vill arbeta på det här språket. Hoppas att du gillade vår artikel. Stanna hos oss för fler artiklar som dessa.

Rekommenderade artiklar

Detta är en guide till Överridering i Java. Här diskuterar vi Introduktion till Överridning i Java, Typer av Överskridande i Java och Metoderegler som åsidosätter i Java. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. JavaScript-objekt
  2. Matrismetoder i JavaScript
  3. Java-kommentarer
  4. Övergripande i OOP
  5. Python överbelastning

Kategori: