Skillnad mellan överbelastning och överstyrning i Java

Huvudskillnad - Överbelastning vs Överstyrning i Java
 

Objektorienterad programmering (OOP) är ett viktigt paradigm inom mjukvaruutveckling. Det är en metod att utforma ett program med klasser och objekt. En klass är en ritning. Det beskriver vad som ska innehålla i objektet. Det definierar egenskaperna eller attributen och de metoder som objektet ska bestå av. Därför är ett objekt en förekomst av en klass. Dessa objekt kommunicerar med andra objekt. Ett stort begrepp av OOP är polymorfism. Det är möjligheten för ett föremål att uppträda på flera sätt. Polymorfismen kategoriseras i två sektioner som överbelastar och överväger. I denna artikel diskuteras skillnaden mellan dessa två i Java. De nyckelskillnad mellan överbelastning och tvingande i Java är att Överbelastning är möjligheten att skapa flera metoder med samma namn med olika implementeringar och Överriding är att tillhandahålla 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 Övergripande i Java
4. Likheter mellan överbelastning och överstyrning i Java
5. Jämförelse vid sida vid sida - Överbelastning mot ö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 nedan Java-koden.

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 summetoden har två parametrar. Den andra summetoden har tre parametrar. När man skapar ett objekt av typ A och anropssumma (2,3), kommer det att ringa summa-metoden med två parametrar som är summa (int a, int b) och returnerar 5. När man skapar ett objekt av typ A och kallar summa (2 , 3,4), det kommer 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 föremål uppträder annorlunda. Detta begrepp är känt som överbelastning. Det kallas också som Statisk bindning eller Kompilerar tidspolymorfism.

Det kan också överbelastas med olika datatyper. Se nedan Java-koden.

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. Summan (int a, int b) -metoden får två heltalvärden. Summan (dubbel dubbel b) mottar två dubbelvärden. När man skapar objektet av typ A och ringer summan (2,3), kommer det att ringa summa (int a, int b) och returnera värdet 5. När man ringer summan (3.4, 5.6), kommer det att ringa summa (dubbel 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 överbelastar också.

Vad är Övergripande i Java?

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

Figur 03: Java-program för tvingande

Enligt ovanstående program har klass A en metodvisning (). Klass B sträcker sig från klass A, så att egenskaper och metoder för klass A är tillgängliga för klass B. Klass B har metodvisning () med en specifik implementering. När man skapar ett objekt av typ A och kallar visningsmetoden kommer det att ge utmatningen B. Även om klass A har en visningsmetod är den förbjuden att vara klass B-visningsmetod. Underklassen implementerar en metod som redan existerar i superklassen.

Detta begrepp är en typ av polymorfism och är känd som tvingande. Det kallas också som Senbindning, Dynamisk bindning, Runtime Polymorphism.

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

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

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

Överbelastning vs Överstyrning i Java

Överbelastning i Java är möjligheten att skapa flera metoder med samma namn med olika implementeringar. Övergripande i Java ger en specifik implementering i underklassen metod 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 övervägande del har metoderna samma namn och parametrarna måste vara desamma.
teman
Överbelastning sker inom klassen. Överordnande sker inom de två klasserna som har ett arvsförhållande.
 synonymer
Överbelastning kallas sammanställd tidspolymorfism. Övergripande kallas körtidspolymorfism.

Sammanfattning - Överbelastning vs Överstyrning i Java

Polymorfism är ett viktigt begrepp i objektorienterad programmering. Det ger möjlighet för ett objekt att fungera på flera sätt. Detta kan vara antingen överbelastat eller överordnat. Överbelastning är kompileringstidspolymorfismen, och överordnad är runtime polymorfismen. De är användbara vid utveckling av programutveckling. Skillnaden mellan överklagande och överbelastning är att Överbelastning är möjligheten att skapa flera metoder med samma namn med olika implementeringar och Överriding ger en specifik implementering i underklassen metod för en metod som redan existerar i superklassen. Det är möjligt att implementera både överbelastning och tvingande i Java.

Ladda ner PDF Överbelastning vs Överstyrning i Java

Du kan hämta PDF-versionen av den här artikeln och använda den för offlineändamål enligt citationsnotat. Var god ladda ner PDF-version här Skillnad mellan överbelastning och överstyrning i Java

Referens:

1.tutorialspoint.com. "Java Överstyrning." Punkten. Tillgänglig här 
2. "Metod överbelastning i Java - Javatpoint." Tillgänglig här
3. "Metod överordnad i Java - javatpoint." Tillgänglig här