Hovedforskjell - Overstyring vs Overbelastning i C #
Hovedforskjellen mellom overstyring og overbelastning i C # er at bindingen av overstyrte metodekall til definisjonen skjer ved kjøretid, mens binding av overbelastet metodekall til definisjonen skjer på kompileringstidspunktet.
C # er et generelt programmeringsspråk utviklet av Microsoft. Hovedfordelen med C # er at den støtter Object Oriented Programming (OOP). En søyle i OOP er polymorfisme. Det gir et objekt å ha flere atferd. Det er to typer i polymorfisme kjent som overstyring og overbelastning. Denne artikkelen diskuterer forskjellen mellom metodeoverstyring og overbelastning i C #.
INNHOLD
1. Oversikt og nøkkelforskjell
2. Hva er overstyring i C #
3. Hva er overbelastning i C #
4. Likheter mellom overstyring og overbelastning i C #
5. Sammenligning side om side - Overstyring vs overbelastning i C # i tabellform
6. Sammendrag
Hva er overstyring i C #?
Det er hverandre et viktig begrep i OOP er arv. Det er å bruke attributter og metoder fra den allerede eksisterende klassen. Det forbedrer kodenes gjenbrukbarhet. Den allerede eksisterende klassen er basisklassen, og den nye klassen er kjent som den avledede klassen. Ved å overstyre polymorfisme, bør det være en basisklasse og en avledet klasse. Bindingen av den overstyrte metoden kalles til definisjonen skjer ved kjøretid. Et eksempel er som følger.
Figur 01: C # Program med overstyring
I henhold til det ovennevnte programmet er klassen Form grunnklassen, og den inneholder visningsmetoden. Klasserektangel og trekant er avledede klasser. Disse avledede klassene har også samme metodevisning med egne implementeringer.
Først opprettes referansevariabelen obj. Det peker på Shape-objektet. Så vil visningsmetoden for Shape-klassen kjøres. Deretter peker referansevariabelen mot rektangelobjektet. Så vil visningsmetoden for Rectangle-klassen kjøres. Til slutt peker referansevariabelen mot Triangle-objektet. Så vil visningsmetoden i Triangle-klassen kjøres. Basisklassevisningsmetoden overstyres av visningsmetodene til de avledede klassene.
Metoden for å kjøre bestemmes ved kjøretid. Shape-klassen er skrevet med et "virtuelt" nøkkelord. Klassen Rektangel og Trekant er skrevet med 'overstyr' nøkkelord. Hvis disse nøkkelordene ikke brukes, vil utskriften skrive ut innholdet i visningsmetoden i formklasse for alle.
Hva er overbelastning i C #?
Ved overbelastning har flere metoder samme navn, men med forskjellige parametere. Parametrene kan være av forskjellige typer. Metodene kan også ha et annet antall parametere. Metodeoverbelastning skjer i samme klasse. Bindingen av overbelastede metoder til definisjonen skjer på kompileringstidspunktet. Se C # -programmet nedenfor.
Figur 02: C # Program med overbelastning
I følge programmet ovenfor har klasse A to metoder med samme navn som kalles sum. De har forskjellige typer parametere. I hovedprogrammet opprettes et objekt av A. Summen (2,3) vil påkalle summetoden med heltall. Summen (5.1, 7.94) vil påkalle summetoden med doble verdier. Begge metodene har samme navn og samme antall parametere. Men parametertypene er forskjellige. Den nødvendige metoden kalles deretter. Overbelastning kan også forekomme hvis metodenavnene og parametertypene er like, men antall parametere er forskjellig.
Hva er likheten mellom overstyring og overbelastning i C #?
Både overstyring og overbelastning i C # er typer polymorfisme
Hva er forskjellen mellom overstyring og overbelastning i C #?
Diff Article Midt før tabell
Overstyring vs Overbelastning i C # |
|
Overstyring i C # er å gi en spesifikk implementering i en avledet klassemetode for en metode som allerede eksisterer i basisklassen. | Overbelastning i C # er å lage flere metoder med samme navn med forskjellige implementeringer. |
Parametere | |
I C # Overriding har metodene samme navn, samme parametertyper og samme antall parametere. | I C # Overbelastning har metodene samme navn, men et annet antall parametere eller en annen type parametere. |
Hendelse | |
I C # skjer overstyring innenfor basisklassen og den avledede klassen. | I C # skjer overbelastning innen samme klasse. |
Bindende tid | |
Bindingen av den overstyrte metoden kalles til definisjonen skjer ved kjøretid. | Bindingen av den overbelastede metoden kalles til definisjonen skjer på kompileringstidspunktet. |
Synonymer | |
Overstyring kalles polymorfisme, dynamisk polymorfisme eller sen binding. | Overbelastning kalles kompileringstidspolymorfisme, statisk polymorfisme eller tidlig binding. |
Sammendrag - Overstyring vs Overbelastning i C #
Overstyring og overbelastning er to typer polymorfisme. Forskjellen mellom overstyring og overbelastning i C # er at bindingen av den overstyrte metoden kalles til definisjonen skjer ved kjøretid mens bindingen av den overbelastede metoden kalles til dens definisjon skjer på kompileringstidspunktet.