Forskjellen mellom overstyring og overbelastning i C #

Nøkkelforskjell - Overriding vs overbelastning i C #
 

De nøkkelforskjell mellom overstyring og overbelastning i C # er det bindingen av overstyrt metode kalles til dens definisjon skjer ved brukstid mens bindingen av overbelastet metode kalles til dens definisjon skjer ved kompileringstid.

C # er et generell programmeringsspråk utviklet av Microsoft. Den største fordelen med C # er at den støtter Object Oriented Programming (OOP). En søyle med OOP er polymorfisme. Det gir et objekt å ha flere atferd. Det er to typer i polymorfisme kjent som tvingende og overbelastning. Denne artikkelen diskuterer forskjellen mellom metode overstyring og overbelastning i C #.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er Overstyring i C #
3. Hva er Overloading i C #
4. Likheter mellom overstyring og overbelastning i C #
5. Side ved side-sammenligning - Overstyring mot overbelastning i C # i tabellform
6. Sammendrag

Hva er Overstyring i C #?

Det er et annet viktig konsept i OOP er arv. Det er å bruke attributter og metoder for den allerede eksisterende klassen. Det forbedrer kodenes gjenbrukbarhet. Den allerede eksisterende klassen er grunnklassen, og den nye klassen er kjent som den avledede klassen. Ved overstyring av polymorfisme bør det være en grunnklass og en avledet klasse. Bindingen av overstyrt metode kalles til definisjonen skjer ved brukstid. Et eksempel er som følger.

Figur 01: C # Program med overstyring

I henhold til det ovennevnte programmet er klasseklassen grunnklassen, og den inneholder skjermmetoden. Klasse rektangel og triangel er avledede klasser. Disse avledede klassene har også samme metodevisning med egne implementeringer.

For det første opprettes referansevariabelen obj. Det peker på Shape-objektet. Så vil visningsmetoden for Shape-klassen utføres. Deretter peker referansevariabelen på rektangelobjektet. Så vil visningsmetoden for rektangelklasse utføres. Endelig peker referansevariabelen på trekantobjektet. Så vil visningsmetoden for Triangle-klassen utføres. Basisklassevisningsmetoden er overstyrt av skjermmetodene til de avledede klassene.

Metoden for å kjøre er bestemt ved kjøretid. Form-klassen er skrevet med "virtuelt" søkeord. Rektangel- og triangelklassen er skrevet med "override" søkeord. Hvis disse søkeordene ikke blir brukt, vil utskriften skrive ut innholdet i skjermmetoden for Form-klassen for alle.

Hva er Overloading 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 ved kompileringstid. Se under C # programmet.

Figur 02: C # Program med overbelastning

I følge det ovennevnte programmet har klasse A to metoder med samme navn som kalles sum. De har forskjellige typer parametere. I hovedprogrammet er et objekt av A opprettet. Summen (2,3) vil påberope summetoden med heltall. Summen (5.1, 7.94) vil påberope summetoden med dobbelte verdier. Begge metodene har samme navn og samme antall parametere. Men parametertypene er forskjellige. Den nødvendige metoden kalles tilsvarende. Overbelastning kan også oppstå hvis metodenavnene og parametertypene er de samme, men antall parametere er forskjellige.

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 #?

Overstyrende vs overbelastning i C #

Overstyring i C # er å gi en spesifikk implementering i en avledet klassemetode for en metode som allerede finnes i grunnklassen. 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 # forekommer overstyring i grunnklassen og den avledede klassen. I C # skjer overbelastning innenfor samme klasse.
 Bindetid
Bindingen av den overstyrte metoden kalles til dens definisjon skjer ved brukstid. Bindingen av overbelastet metode kalles til dens definisjon skjer ved kompileringstid.
synonymer
Overstyring kalles som runtime polymorfisme, dynamisk polymorfisme eller sen binding. Overbelastning kalles som kompilere tidspolymorfisme, statisk polymorfisme eller tidlig binding.

Sammendrag - Overstyrende 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 dens definisjon, skjer ved kjøring, mens bindingen av overbelastet metode kalles til dens definisjon skjer ved kompileringstid.

Henvisning:

1.Kumar, Mukesh. C # Corner. Tilgjengelig her
2.tutorialspoint.com. "C # polymorfisme." TutorialsPointTilgjengelig her
3.tutorialspoint.com. "C # Datatyper." TutorialsPoint , Tilgjengelig her