Forskjellen mellom overstyring og overbelastning i C

Innholdsfortegnelse:

Forskjellen mellom overstyring og overbelastning i C
Forskjellen mellom overstyring og overbelastning i C

Video: Forskjellen mellom overstyring og overbelastning i C

Video: Forskjellen mellom overstyring og overbelastning i C
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, Desember
Anonim

Nøkkelforskjell – overstyring vs overbelastning i C

Nøkkelforskjellen mellom overstyring og overbelastning i C er at bindingen av overstyrt metodekall til definisjonen skjer ved kjøretid, mens bindingen av overbelastet metodekall til definisjonen skjer på kompileringstidspunktet.

C er et programmeringsspråk for generell bruk utviklet av Microsoft. Den største fordelen med C er at den støtter objektorientert programmering (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.

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 kodens gjenbrukbarhet. Den allerede eksisterende klassen er basisklassen, og den nye klassen er kjent som den avledede klassen. Ved overstyring av polymorfisme bør det være en basisklasse og en avledet klasse. Bindingen av det overstyrte metodekallet til definisjonen skjer ved kjøring. Et eksempel er som følger.

Forskjellen mellom overstyring og overbelastning i C
Forskjellen mellom overstyring og overbelastning i C

Figur 01: C-program med overstyring

I følge programmet ovenfor er klassen Shape basisklassen, og den inneholder visningsmetoden. Klasse rektangel og trekant er avledede klasser. Disse avledede klassene har også samme metodevisning med sine egne implementeringer.

Først opprettes referansevariabelen obj. Den peker på Shape-objektet. Så visningsmetoden til Shape-klassen vil kjøres. Deretter peker referansevariabelen til Rectangle-objektet. Så visningsmetoden til Rectangle-klassen vil utføres. Til slutt peker referansevariabelen til Triangle-objektet. Så visningsmetoden til Triangle-klassen vil utføres. Basisklassevisningsmetoden overstyres av visningsmetodene til de avledede klassene.

Kjøremetoden bestemmes under kjøring. Shape-klassen er skrevet med "virtuelt" nøkkelord. Klassene Rektangel og Triangel er skrevet med «overstyr» nøkkelord. Hvis disse nøkkelordene ikke brukes, vil utdataene skrive ut innholdet i visningsmetoden for Shape-klassen 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.

Nøkkelforskjellen mellom overstyring og overbelastning i C
Nøkkelforskjellen mellom overstyring og overbelastning i C

Figur 02: C-program med overbelastning

I følge programmet ovenfor har klasse A to metoder med samme navn k alt sum. De har forskjellige typer parametere. I hovedprogrammet lages 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 tilsvarende. Overbelastning kan også oppstå hvis metodenavnene og parametertypene er like, men antallet parametere er forskjellig.

Hva er likheten mellom overstyring og overbelastning i C?

Både overstyring og overbelastning i C er typer polymorfi

Hva er forskjellen mellom overstyring og overbelastning i C?

Overstyre 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-overstyring har metodene samme navn, samme parametertyper og samme antall parametere. I C Overloading har metodene samme navn, men et annet antall parametere eller en annen type parametere.
Forekomst
I C skjer overstyring innenfor basisklassen og den avledede klassen. I C skjer overbelastning innenfor samme klasse.
Bindingstid
Bindingen av det overstyrte metodekallet til definisjonen skjer ved kjøring. Bindingen av det overbelastede metodekallet til definisjonen skjer på kompileringstidspunktet.
Synonymer
Overstyring kalles kjøretidspolymorfisme, 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 polymorfi. Forskjellen mellom overstyring og overbelastning i C er at bindingen av det overstyrte metodekallet til definisjonen skjer ved kjøretid, mens bindingen av det overbelastede metodekallet til definisjonen skjer på kompileringstidspunktet.

Anbefalt: