Overstyring av nøkkelord i C#

Overstyring av nøkkelord i C#
I C# -programmering bruker vi nøkkelordet “Override” for å endre Base Class Virtual -medlemmet med definisjonen av avledet klassemedlem. Signaturen til en overstyringsmetode må samsvare med den overstyrte base -metoden. I stasjonsklassen tillater den overordnede funksjonen å kalle en funksjon av baseklassen. Metoden som overstyrer betyr å bygge en metode i barneklassen som har en lignende signatur som i foreldreklassen.

For den overordnede metoden har vi tre typer nøkkelord som vi brukte i C# -programmering.

  • Virtuelt nøkkelord
  • Base nøkkelord
  • Overstyring

Eksempel1: Bruke virtuelle og overstyrte nøkkelord

I dette gitte eksemplet bruker vi nøkkelordene “Virtual” og “Override” for å overstyre C# -programmet i Ubuntu 20.04.

I det første trinnet importerer vi C# -biblioteket som "bruker system" som får tilgang til de nødvendige funksjonene og metodene for C# -programmering. Vi opprettet en klasse som heter "hund" som er en baseklasse. Inne i denne baseklassen har vi en metode “Public Virtual void Print ()”. I denne metoden er "virtuelt" et nøkkelord som tillater den avledede klassemetoden å overstyre denne virtuelle metoden. I denne virtuelle metoden skriver vi ut to linjer ved hjelp av “konsollen.WritLine () ”-funksjon. Koden skrevet i disse "ConsoleWriteline" -brakettene vil skrive ut på skjermen.

Etter dette har vi en avledet klasse som heter “Cat” arvet fra baseklassen “Dog”. Vi har metoden “Public Override void print ()” i denne avledede klassen. Denne "print ()" -metoden er den samme som vi erklærer i baseklassen ovenfor. Det vil overstyre den virtuelle metoden i baseklassen fordi det virtuelle søkeordet gir myndighet til baseklassen til å overstyre metoden.

Etter dette har vi “konsollen.WritLine () ”-funksjon som viser dataene på skjermen. Nå erklærer vi en annen klasse som heter “Animal”. "Static Void Main (String [] Args)" er hovedmetoden for denne "Animal" -klassen. Denne "strengen [] args" betegner argumentene. Etter denne hovedfunksjonen utvikler vi gjenstanden for baseklassen med navnet "D". I denne referansevariabelen til en baseklasse “Dog D”, lagrer vi gjenstanden for barneklassen “CAT ()”. Vi skriver det som "Dog D = New Cat ();". Etter dette, når vi skriver “D.print () ”Metoden for den avledede klassen som heter“ Cat ”kalles fordi vi overstyrer metoden for foreldreklassen.

Vi skriver ut utgangen fra ovennevnte C# -program i Ubuntu 20.04 ved å bruke kommandoene som er gitt på bildet nedenfor. Før vi utfører denne C# -koden, må vi først sammenstille denne koden. For dette bruker vi “MCS” -kommandoen med filnavn og utvidelse ”.CS ”. Og for utførelse av dette C# -programmet bruker vi “Mono” -kommandoen med samme filnavn og utvidelse ”.EXE ”.

I denne utgangen ser vi at den overstyrer metoden for baseklassen og skriver ut dataene som er skrevet i den avledede klassemetoden.

Eksempel2: En annen måte å bruke virtuelle og overskride nøkkelord

Nå skal vi diskutere et annet eksempel på C# -programmet for å overstyre metoden for baseklassen ved å bruke "virtuelle" og "overstyre" nøkkelord.

Her har vi en "bruk av system" -erklæring der "system" er et navneområde. Så har vi en klasse som har navnet "base". Inne i denne "base" -klassen definerer vi en metode "public virtual void show ()". I denne metoden bruker vi nøkkelordet “Virtual”. Dette "virtuelle" nøkkelordet tillater å overstyre metoden. Etter dette har vi “konsollen.WritLine "-funksjon som brukes til å vise utgangen. “Konsollen.WritLine (“Hei!!!!”)” Vil skrive ut det samme “Hei!!!”På utgangsskjermen og“ konsollen.WritLine (“This Is Base Class”) ”vil vise den samme teksten som er skrevet i parentes på skjermen.

Etter dette har vi en annen klasse som er en avledet klasse som har navnet "avledet". Denne "avledede" klassen er en som vi arver fra "base" -klassen. Inne i denne "avledede" klassen har vi "offentlig overstyring av tomrom ()" som brukes til å overstyre metoden i baseklassen. Som vi vet, er "overstyring" et nøkkelord som vi diskuterte i detalj i eksemplet ovenfor. Nå, inne i de krøllete seler, må vi skrive ut ved å bruke “konsollen.WritLine ”-funksjon. For å skrive ut “Hei!!!”Vi skriver denne kodelinjen“ Konsoll.WritLine (“Hei!!!!”)”. Det vil vise “Hei!!!!" på skjermen. Etter dette har vi en annen "konsoll.WritLine ”-funksjon for å skrive ut“ Dette er avledet klasse ”på skjermen.

Deretter, utenfor de krøllete seler, har vi en annen klasse som heter “ABC”. I denne klassen har vi hovedmetoden. Nå heter Base Class -objektet “OBJ”. "OBJ = new Base ()" brukes til å generere et objekt med navnet "OBJ". Det "nye" er et nøkkelord som brukes til å lage et nytt objekt i klassen. “Obj. show () ”påkaller showmetoden for" base "-klassen. Etter dette skaper “obj = new avledet ()” den samme obj for den avledede klassen. Deretter “obj.show () ”vil påkalle metoden for den relevante" avledede "-klassen.

Vi oppnår utdataene ved å bruke kommandoen som vi forklarte i ovennevnte C# -program, men vi bruker filnavnet til dette C# -programmet.

Denne utgangen viser at vi først skriver ut meldingen fra baseklassen som er skrevet i den virtuelle metoden. Deretter overstyrer nøkkelordet "Override" overstyret "Virtual" -metoden i "base" -klassen og skriver ut meldingen til den relevante "avledede" -klassen.

Eksempel3: Bruke basisnøkkelordet

I dette eksemplet vil vi diskutere hvordan du bruker nøkkelordet “base” i C# -programmet. For overstyring bruker vi nøkkelordet “base”. Nå vil vi vise deg hvordan det fungerer. Nå se på eksemplet som er gitt nedenfor.

Til å begynne med har vi "bruker system". Da har vi en offentlig klasse med navnet "kurs" som er baseklassen. Inne i denne baseklassen har vi en variabel med navnet “Str1” av datatype “String” og tilordne en streng “Informasjonsteknologi” til “Str1”. Nå har vi en "offentlig virtuell tomrom showdata ()" der showdata () er en virtuell metode.

Etter det har vi “konsoll.WritLine ”for utskrift som vi allerede har diskutert i de forrige eksemplene. Deretter erklærer vi en annen klasse som heter "Pensum" som er den avledede klassen og arvet fra "kurs" -klassen. Her har vi en annen strengvariabel som heter “Str2” og også tilordne strengdata til denne strengvariabelen. Etter dette har vi “Public Override ugyldig ShowData ()” der vi overstyrer ShowData () -metoden i baseklassen. Under dette har vi “base.ShowData () ”som brukes til å kalle base ShowData () -metoden ved hjelp av nøkkelordet“ Base ”.

Nå, igjen har vi “konsollen.WritLine "-metode. Etter dette er det en annen klasse som har navnet "grad". Inne i denne "grad" -klassen har vi en hovedmetode. Nå er objektet med klasse “pensum” “S” som også fungerer som formålet med "kurs" -klassen. Da, “S.ShowData () ”vil påkalle ShowData () i" kurset "-klassen først og deretter påkalle den samme metoden for klasse" pensum ".

Utgangen fra ovennevnte kode er vist på bildet nedenfor. Vi ser at den skriver ut dataene fra "kurs" -kurs "og skriver deretter ut dataene fra avledet klasse" pensum ".

Konklusjon

I denne artikkelen forstår vi forestillingen om å overstyre i detalj med eksempler. Som vi lærte at for overstyring, må vi ha en baseklasse og avledet klasse. I dette ser vi at den overordnede metoden brukes bare i den avledede klassen. Vi kan ikke overstyre en statisk metode. Vi kan heller ikke overstyre den ikke-virtuelle metoden. For å oppnå "kjøretid polymorfisme" c# overstyring av metoden brukes. Vi bruker alle tre nøkkelordene "Virtual", "Override" og "Base" i denne artikkelen og studerte dem i detalj ved hjelp av eksempler. Disse illustrasjonene hjelper mye med å forstå begrepet overstyring i C# programmeringsspråket. Denne artikkelen vil forbedre kunnskapen din om det overordnede konseptet, og det vil være nyttig for deg i fremtiden.