Skillnaden Mellan överbelastning Och överstyrning I Java

Innehållsförteckning:

Skillnaden Mellan överbelastning Och överstyrning I Java
Skillnaden Mellan överbelastning Och överstyrning I Java

Video: Skillnaden Mellan överbelastning Och överstyrning I Java

Video: Skillnaden Mellan överbelastning Och överstyrning I Java
Video: От C до Python Росс Рейнганс-Ю 2024, April
Anonim

Nyckelskillnad - Överbelastning vs Överstyrning i Java

Objektorienterad programmering (OOP) är ett stort paradigm inom mjukvaruutveckling. Det är en metod för att utforma ett program med hjälp av klasser och objekt. En klass är en ritning. Den beskriver vad som ska innehålla objektet. Den definierar egenskaperna eller attributen och metoderna som objektet ska bestå av. Därför är ett objekt en förekomst av en klass. Dessa objekt kommunicerar med andra objekt. Ett huvudkoncept med OOP är polymorfism. Det är förmågan för ett objekt att bete sig på flera sätt. Polymorfism är kategoriserad i två sektioner som är överbelastade och åsidosättande. Denna artikel diskuterar skillnaden mellan dessa två i Java. Huvudskillnaden mellan överbelastning och åsidosättande i Java är att överbelastning är möjligheten att skapa flera metoder med samma namn med olika implementeringar och överstyrning är att ge en implementering för en underklassmetod som redan finns i superklassen.

INNEHÅLL

1. Översikt och nyckelskillnad

2. Vad är överbelastning i Java

3. Vad är överstyrning i Java

4. Likheter mellan överbelastning och överstyrning i Java

5. Jämförelse sida vid sida - Överbelastning kontra överstyrning i Java i tabellform

6. Sammanfattning

Vad är överbelastning i Java?

Överbelastning är möjligheten att skapa flera metoder med samma namn med olika implementeringar. Se nedanstående Java-kod.

Skillnaden mellan överbelastning och överstyrning i Java
Skillnaden mellan överbelastning och överstyrning i Java

Figur 01: Java-program som förklarar överbelastning med olika antal argument

Enligt ovanstående program innehåller klass A två metoder med samma namn. Den första summan har två parametrar. Den andra summan har tre parametrar. När du skapar ett objekt av typ A och anropssumman (2,3) kommer det att kalla summetoden med två parametrar som är summan (int a, int b) och returnerar 5. När du skapar ett objekt av typ A och anropssumman (2, 3,4) kommer den att kalla den andra summetoden med tre parametrar som är summan (int a, int b, int c) och returnerar 9.

Metodnamnet är detsamma men antalet parametrar är olika. Det kan observeras att samma objekt beter sig annorlunda. Detta koncept är känt som överbelastning. Det kallas också polymorfism för statisk bindning eller sammanställer tid.

Det kan också överbelastas med olika datatyper. Se nedanstående Java-kod.

Skillnad mellan överbelastning och överstyrning i Java Figur 02
Skillnad mellan överbelastning och överstyrning i Java Figur 02

Figur 02: Java-program som förklarar överbelastning med olika antal argument

Enligt ovanstående program består klass A av två metoder med samma namn. Summetoden (int a, int b) får två heltal värden. Summan (dubbel a dubbel b) får två dubbla värden. När du skapar objektet av typ A och samtalsumman (2,3) kommer det att ringa summan (int a, int b) och returnera värdet 5. När du ringer summan (3.4, 5.6) kommer det att kalla summan (dubbla en dubbel b) och returnera värdet 9.0. I det här exemplet har metoderna samma namn, men en annan typ av variabler. Detta är också överbelastat.

Vad är åsidosättande i Java?

I Java är det möjligt att bygga underklasser med redan existerande klasser. I stället för att skapa den nya klassen från början är det möjligt att använda egenskaperna och metoderna för den redan existerande klassen. Den befintliga klassen är superklassen och den härledda klassen är underklassen. När underklassen tillhandahåller en implementering av en metod som redan finns i superklassen, är den känd som övergripande. Se Java-programmet nedan.

Huvudskillnad mellan överbelastning och överstyrning i Java
Huvudskillnad mellan överbelastning och överstyrning i Java

Figur 03: Java-program för åsidosättande

Enligt ovanstående program har klass A en metodvisning (). Klass B sträcker sig från klass A, så egenskaperna och metoderna för klass A är tillgängliga för klass B. Klass B har metodvisning () med en specifik implementering. När du skapar ett objekt av typen, A och anropar visningsmetoden, kommer det att ge utgången B. Även om klass A har en visningsmetod, åsidosätts den visningsmetod klass B. Underklassen implementerar en metod som redan finns i superklassen.

Detta koncept är en typ av polymorfism och kallas överordnad. Det kallas också som senbindning, dynamisk bindning, körtidspolymorfism.

Vad är likheterna mellan överbelastning och överstyrning i Java?

  • Båda är typer av polymorfism.
  • Vid överbelastning och åsidosättande har metoder samma namn.

Vad är skillnaden mellan överbelastning och överstyrning i Java?

Skilja artikeln mitt före bordet

Överbelastning vs Överstyrning i Java

Överbelastning i Java är möjligheten att skapa flera metoder med samma namn med olika implementeringar. Åsidosättande i Java ger en specifik implementering i underklassmetod för en metod som redan finns i superklassen.
Parametrar
Vid överbelastning har metoderna samma namn men ett annat antal parametrar eller en annan typ av parametrar. I åsidosättande har metoderna samma namn och parametrar måste vara desamma.
Teman
Överbelastning sker inom klassen. Överstyrning sker inom de två klasserna som har ett arvsförhållande.
Synonymer
Överbelastning kallas sammanställd tidspolymorfism. Överstyrning kallas körtidspolymorfism.

Sammanfattning - Överbelastning vs Överstyrning i Java

Polymorfism är ett stort begrepp inom objektorienterad programmering. Det ger möjlighet för ett objekt att bete sig på flera sätt. Detta kan vara antingen överbelastning eller åsidosättande. Överbelastning är sammanställningstidens polymorfism, och övergripande är körtidspolymorfismen. De är användbara vid programutveckling. Skillnaden mellan överstyrning och överbelastning är att överbelastning är möjligheten att skapa flera metoder med samma namn med olika implementeringar och överstyrning ger en specifik implementering i underklassmetod för en metod som redan finns i superklassen. Det är möjligt att implementera både överbelastning och åsidosättande i Java.

Ladda ner PDF Overloading vs Overriding i Java

Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här Skillnaden mellan överbelastning och överstyrning i Java

Rekommenderas: