Objektorientert programmering (OOP) er et stort paradigme i programvareutvikling. Det er en metode for å designe et program ved hjelp av klasser og objekter. En klasse er en blåkopi. Den beskriver hva som skal inneholde objektet. Det definerer egenskapene eller attributter og metodene som objektet skal bestå av. Derfor er et objekt en forekomst av en klasse. Disse objektene kommuniserer med andre objekter. Et stort konsept for OOP er polymorfisme. Det er evnen til et objekt å oppføre seg på flere måter. Polymorfisme er kategorisert i to seksjoner som er overbelastende og tvingende. Denne artikkelen diskuterer forskjellen mellom disse to i Java. De nøkkelforskjell mellom overbelastning og overstyring i Java er at Overbelastning er muligheten til å opprette flere metoder med samme navn med forskjellige implementeringer, og Overriding er å gi en implementering for en subclass-metode som allerede eksisterer i superklasse.
1. Oversikt og nøkkelforskjell
2. Hva er Overloading i Java
3. Hva er Overstyring i Java
4. Likheter mellom overbelastning og overstyring i Java
5. Side ved side-sammenligning - Overbelastning mot overstyring i Java i tabellform
6. Sammendrag
Overbelastning er muligheten til å lage flere metoder med samme navn med forskjellige implementeringer. Se under Java-koden nedenfor.
Figur 01: Java-program som forklarer Overbelastning med forskjellig antall argumenter
I henhold til det ovennevnte programmet inneholder klasse A to metoder med samme navn. Den første summetoden har to parametere. Den andre summetoden har tre parametere. Når du lager et objekt av type A og kalles summen (2,3), vil det kalle summetoden med to parametere som er summen (int a, int b) og returnerer 5. Når du oppretter et objekt av type A og kalles summen (2 , 3,4), vil det kalle den andre summetoden med tre parametere som er summen (int a, int b, int c) og returnerer 9.
Metodenavnet er det samme, men antall parametere er forskjellige. Det kan observeres at det samme objektet oppfører seg annerledes. Dette konseptet kalles overbelastning. Det er også referert til som Statisk binding eller Samler tidspolymorfisme.
Det kan også bli overbelastet med forskjellige datatyper. Se under Java-koden nedenfor.
Figur 02: Java-program som forklarer Overbelastning med forskjellig antall argumenter
I henhold til det ovennevnte programmet består klasse A av to metoder med samme navn. Summen (int a, int b) -metoden mottar to heltallverdier. Summen (dobbelt en dobbel b) mottar to dobbelteverdier. Når du oppretter objektet til type A og kalles summen (2,3), vil det kalle summen (int a, int b) og returnere verdien 5. Når du ringer summen (3.4, 5.6), vil den kalle summen (dobbelt en dobbel b) og returner verdien 9.0. I dette eksemplet har metodene samme navn, men en annen type variabler. Dette overbelaster også.
I Java er det mulig å bygge underklasser med allerede eksisterende klasser. I stedet for å lage den nye klassen fra begynnelsen, er det mulig å bruke egenskapene og metodene til den allerede eksisterende klassen. Den eksisterende klassen er superklassen, og den avledede klassen er underklassen. Når underklassen gir en implementering for en metode, som allerede er i superklassen, er den kjent som overordnet. Se under Java-programmet.
Figur 03: Java-program for overstyring
I følge det ovennevnte programmet har klasse A en metodevisning (). Klasse B strekker seg fra klasse A, så egenskapene og metodene til klasse A er tilgjengelige i klasse B. Klasse B har metodevisning () med en bestemt implementering. Når du oppretter et objekt av typen, A og kaller visningsmetoden, vil den gi utdata B. Selv om klasse A har en visningsmetode, er den overstyrt, og det er klasse B-visningsmetode. Underklasse implementerer en metode som allerede finnes i superklassen.
Dette konseptet er en type polymorfisme og kjent som overordnet. Det kalles også som Sen binding, Dynamisk Binding, Runtime polymorphism.
Overbelastning mot overstyring i Java | |
Overbelastning i Java er muligheten til å opprette flere metoder med samme navn med forskjellige implementeringer. | Overstyring i Java gir en spesifikk implementering i underklasse-metoden for en metode som allerede finnes i superklassen. |
parametere | |
Ved overbelastning har metodene samme navn, men et annet antall parametere eller en annen type parametere. | Til tross for at metodene har samme navn, må parametrene være de samme. |
temaer | |
Overbelastning skjer i klassen. | Overstyring skjer i de to klassene som har et arveforhold. |
synonymer | |
Overbelastning kalles kompilert tidspolymorfisme. | Overstyring kalles løptidspolymorfisme. |
Polymorfisme er et viktig konsept i Objektorientert Programmering. Det gir muligheten for at et objekt oppfører seg på flere måter. Dette kan enten være overbelastende eller tvingende. Overbelastning er kompileringstidspolymorfismen, og overstyring er runtime polymorfismen. De er nyttige i utvikling av programvareapplikasjoner. Forskjellen mellom overstyring og overbelastning er at Overloading er muligheten til å lage flere metoder med samme navn med forskjellige implementeringer, og Overriding gir en spesifikk implementering i subclass-metode for en metode som allerede finnes i superklassen. Det er mulig å implementere både overbelastning og overstyring i Java.
Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til off-line formål som per sitatnotat. Vennligst last ned PDF-versjon her Forskjellen mellom overbelastning og overstyring i Java
1.tutorialspoint.com. "Java Overriding." Poenget. Tilgjengelig her
2. "Overloading av metode i Java - Javatpoint." Tilgjengelig her
3. "Metode overstyring i Java - javatpoint." Tilgjengelig her