Introduksjon til arv i C #

Arv i C # er prosessen med å anskaffe alle egenskapene til en klasse til en annen klasse. Det er to klasser referert til som baseklasse og avledet klasse. Baseklassen er også kjent som foreldreklasse og egenskapene eller metodene til denne klassen vi ønsker å arve til en annen klasse.

Den avledede klassen er kjent som barneklasse som brukes til å arve egenskapene og metodene til baseklassen eller foreldreklassen. Det hjelper med å gjenbruke den samme koden igjen og trenger ikke å definere de samme egenskapene igjen og igjen.

Arv er et av de kraftige konseptene eller grunnleggende egenskapene til objektorientert programmeringsspråk. Det er mye brukt i alle OOP-baserte programmeringsspråk. Hovedformålet er å bruke den samme koden på nytt. Eksemplet med den grunnleggende arvstrukturen er gitt nedenfor:

class BaseClass ( )
class ChildClass: BaseClass ()

Arvstyper i C #

Det er forskjellige typer arv i C #:

1. Arv på ett nivå

I singelarv er det bare en baseklasse og en avledet klasse. Det betyr at barneklassen vil arve egenskapene til foreldreklassen og bruke den.

Eksempel:
class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)

2. Arvelighet i flere plan

I denne arvtypen er det bare en baseklasse og flere avledede klasser er tilgjengelige. Hvis en klasse opprettes ved bruk av en annen avledet klasse, er kjent som flernivåarv.

Eksempel:

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : ChildClass
(
public void Hi()
(
)
)

3. Flere arv

I denne arvtypen kan dette oppnås ved hjelp av flere grensesnitt, ikke med en klasse. Med enkle ord støtter ikke C # flere arv, men hvis du vil oppnå det, kan det oppnås ved hjelp av grensesnitt.

Eksempel:

Interface A ()
Interface B ()
Class C: A, B ()

4. Hierarkisk arv

I denne typen arv er det den ene foreldreklassen og de andre avledede klassene arver den samme foreldreklassen for å oppnå denne arven.

Eksempel :

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : BaseClass
(
public void Hi()
(
)
)

Fordeler med arv

Fordelene med arv er:

  • Det hjelper å bruke den samme koden igjen, betyr gjenbruk av kode.
  • Det reduserer kodedundans.
  • Det hjelper med å lese koden mer komfortabelt.
  • Det reduserer også størrelsen på kildekoden og filen.
  • Det hjelper med å gi koden utvidbarhet.
  • Koden er enkel å administrere da den er delt inn i klasser i baseklassen og barneklassen.
  • Private medlemmer får ikke tilgang til avledet klasse når medlemmer av baseklassen er arvet av den avledede klassen.
  • Det støtter ikke flere arv, men kan oppnås gjennom grensesnitt.
  • Det hjelper med å oppnå polymorfismen som gjør at et objekt kan representere mer enn én type.
  • Det hjelper med å dele den store koden i små biter.

Funksjoner ved arv

Funksjonene i arv er:

  • Arv kan brukes for å forhindre direkte øyeblikkelighet av klassen, og for å oppnå dette abstrakte nøkkelordet har blitt brukt.
  • Medlemmene av baseklassen kan nås i avledet klasse med unntak av private nøkkelmedlemmer.
  • Medlemmene av baseklassen kan arves i avledet klasse bortsett fra konstruktør og ødelegger også.
  • I C # må de virtuelle metodene til en baseklasse bruke overstyringssøkkelord i den avledede klassen.
  • I C # for å forhindre arv fra klassen som kan deklareres med det forseglede nøkkelordet.
  • Hvis de arvede medlemmene må være skjult med samme navn og signatur i den avledede klassen, må den metoden defineres med det nye søkeordet.

Hvorfor bruke arv og hvordan det gjør det enkelt å jobbe?

Arv brukes når samme kode må brukes i en annen klasse. Så i stedet for å skrive den samme koden, igjen og igjen, er det et konsept med objektorientert programmering som er Arv som hjelper med å bruke samme funksjonalitet som metoder eller egenskaper for en klasse til en annen klasse. Ved hjelp av semikolon (:) kan vi arve medlemmene av baseklassen til barneklasse eller avledet klasse.

Det er enkelt å jobbe med, fordi det hjelper til med å unngå forvirring av metodeanrop fra hvilken klassemetode blir oppringt. Det gjør gjenbrukbarhet av koden og gjør filen lettere i vekt med mindre antall linjer med kildekode. Dette gjør koden mindre overflødig og mer fleksibel å bruke i forskjellige klasser. Det holder strukturen i programmet som hjelper til med å lese koden lett.

Konklusjon - Arv i C #

  • Arv er det mest brukte konseptet med objektorientert programmering på alle OOP-baserte språk og så som i C #. Det hjelper utvikleren med å oppnå mange ting og gjør koden jevnere og lesbar.
  • Polymorfisme er det andre oops-konseptet som bare kan oppnås ved hjelp av Arv. De fleste problemene er løst med disse to konseptene som går hånd i hånd.
  • I arv er baseklassen og den avledede klassen tett koblet som om det er noen endring i baseklassen, da blir automatisk all barneklassen påvirket. Arv må brukes veldig nøye som om datamedlemmene ikke brukes riktig og minnet blir tildelt dem, så påvirker det ytelsen til applikasjonen.
  • Det er forskjellige nivåer av arv som brukes til å programmere eller utvikle en applikasjon. Det kan implementeres i alle typer applikasjoner som web-baserte eller desktop-baserte applikasjoner. Det avhenger av utvikleren hvordan og hvor man skal bruke arv da det gir mye fleksibilitet, funksjoner og hjelper til med å oppnå tingene.

Anbefalte artikler

Dette har vært en guide til arv i C #. Her diskuterte vi introduksjonen, typene, fordelene og funksjonene til Arv i C #. Du kan også gå gjennom andre foreslåtte artikler for å lære mer-

  1. Arv i VB.Net
  2. Hva er multithreading i C #?
  3. C # Kommandoer
  4. C # vs JavaScript
  5. Arv i Java
  6. Metoder for multithreading i C #