Nøgleforskel - Overbelastning vs Overstyring i Java
Objektorienteret programmering (OOP) er et stort paradigme inden for softwareudvikling. Det er en metode til at designe et program ved hjælp af klasser og objekter. En klasse er en plan. Den beskriver, hvad der skal indeholde i objektet. Den definerer egenskaberne eller attributterne og de metoder, som objektet skal bestå af. Derfor er et objekt en forekomst af en klasse. Disse objekter kommunikerer med andre objekter. Et hovedbegreb med OOP er polymorfisme. Det er evnen for et objekt til at opføre sig på flere måder. Polymorfisme er kategoriseret i to sektioner, som overbelaster og tilsidesætter. Denne artikel diskuterer forskellen mellem disse to i Java. Hovedforskellen mellem overbelastning og tilsidesættelse i Java er, at Overbelastning er evnen til at oprette flere metoder med samme navn med forskellige implementeringer, og Overstyring er at give en implementering af en underklassemetode, der allerede findes i superklassen.
INDHOLD
1. Oversigt og nøgleforskel
2. Hvad er overbelastning i Java
3. Hvad er overstyring i Java
4. Ligheder mellem overbelastning og overstyring i Java
5. Sammenligning side om side - Overbelastning versus overstyring i Java i tabelform
6. Oversigt
Hvad er overbelastning i Java?
Overbelastning er evnen til at oprette flere metoder med samme navn med forskellige implementeringer. Se nedenstående Java-kode.
Figur 01: Java-program, der forklarer overbelastning med forskellige antal argumenter
I henhold til ovenstående program indeholder klasse A to metoder med samme navn. Den første summetode har to parametre. Den anden summetode har tre parametre. Når du opretter et objekt af type A og opkaldssum (2,3), kalder det summetoden med to parametre, der er sum (int a, int b) og returnerer 5. Når du opretter et objekt af type A og opkaldssum (2, 3,4), vil den kalde den anden summetode med tre parametre, som er summen (int a, int b, int c) og returnerer 9.
Metodenavnet er det samme, men antallet af parametre er forskelligt. Det kan observeres, at det samme objekt opfører sig anderledes. Dette koncept er kendt som overbelastning. Det kaldes også polymorfisme for statisk binding eller kompilerer tid.
Der kan også overbelastes med forskellige datatyper. Se nedenstående Java-kode.
Figur 02: Java-program, der forklarer overbelastning med forskelligt antal argumenter
I henhold til ovenstående program består klasse A af to metoder med samme navn. Summen (int a, int b) -metoden modtager to heltalværdier. Summen (dobbelt en dobbelt b) modtager to dobbelte værdier. Når du opretter objektet af type A og opkaldssummen (2,3), kalder det summen (int a, int b) og returnerer værdien 5. Når du kalder summen (3.4, 5.6), kalder den sum (dobbelt en dobbelt b) og returner værdien 9.0. I dette eksempel har metoderne samme navn, men en anden type variabler. Dette er også overbelastning.
Hvad er tilsidesættelse i Java?
I Java er det muligt at opbygge underklasser med allerede eksisterende klasser. I stedet for at oprette den nye klasse fra starten er det muligt at bruge egenskaberne og metoderne til den allerede eksisterende klasse. Den eksisterende klasse er superklassen, og den afledte klasse er underklassen. Når underklassen giver en implementering af en metode, der allerede findes i superklassen, er den kendt som tilsidesættelse. Se nedenstående Java-program.
Figur 03: Java-program til tilsidesættelse
I henhold til ovenstående program har klasse A en metodevisning (). Klasse B strækker sig fra klasse A, så egenskaberne og metoderne i klasse A er tilgængelige i klasse B. Klasse B har metodevisning () med en specifik implementering. Når du opretter et objekt af typen, A og kalder displaymetoden, vil det give output B. Selvom klasse A har en visningsmetode, tilsidesættes den klasse B-visningsmetode. Underklasse implementerer en metode, der allerede findes i superklassen.
Dette koncept er en type polymorfisme og kendt som overordnet. Det kaldes også som sen binding, dynamisk binding, kørselstid polymorfisme.
Hvad er ligheden mellem overbelastning og overstyring i Java?
- Begge er typer af polymorfisme.
- Ved overbelastning og tilsidesættelse har metoder det samme navn.
Hvad er forskellen mellem overbelastning og overstyring i Java?
Diff artikel midt foran bordet
Overbelastning vs Overstyring i Java |
|
Overbelastning i Java er evnen til at oprette flere metoder med samme navn med forskellige implementeringer. | Overstyring i Java giver en specifik implementering i underklassemetode til en metode, der allerede findes i superklassen. |
Parametre | |
Ved overbelastning har metoderne det samme navn, men et andet antal parametre eller en anden type parametre. | Overordnet har metoderne samme navn, og parametrene skal være de samme. |
Temaer | |
Overbelastning sker inden for klassen. | Tilsidesættelse sker inden for de to klasser, der har et arveforhold. |
Synonymer | |
Overbelastning kaldes kompileret tidspolymorfisme. | Tilsidesættelse kaldes polymorfisk løbetid. |
Resumé - Overbelastning vs Overstyring i Java
Polymorfisme er et stort begreb inden for objektorienteret programmering. Det giver mulighed for, at et objekt opfører sig på flere måder. Dette kan enten være overbelastet eller tilsidesat. Overbelastning er kompileringstidens polymorfisme, og overordnet er runtime-polymorfismen. De er nyttige i software applikationsudvikling. Forskellen mellem overstyring og overbelastning er, at overbelastning er evnen til at oprette flere metoder med samme navn med forskellige implementeringer, og tilsidesættelse giver en specifik implementering i underklassemetode til en metode, der allerede findes i superklassen. Det er muligt at implementere både overbelastning og tilsidesættelse i Java.
Download PDF Overloading vs Overriding i Java
Du kan downloade PDF-version af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-version her Forskellen mellem overbelastning og overstyring i Java