Kuinka käyttää perintöä C#:ssa

Kuinka Kayttaa Perintoa C Ssa



Kirjoitettaessa koodia olio-ohjelmointikielellä saatamme kohdata tilanteita, joissa joudumme käyttämään olemassa olevaa koodia uudelleen uudessa luokassa tai lisäämään lisätoimintoja olemassa olevaan luokkaan. Tällaisissa tapauksissa perinnöstä on hyötyä. Olio-ohjelmoinnin periytyminen sallii luokat periä toisen luokan ominaisuudet ja käyttäytymisen. Tämä artikkeli kattaa perinnön käytön C#:ssa ja sen eri tyypeissä.

Sisällysluettelo

Mikä on perintö C#:ssa

Kuinka perintö toimii C#:ssa







Perinnön tyypit C#:ssa



Johtopäätös



Mikä on perintö C#:ssa

Periytymistä käyttävässä C#:ssa yksi luokka voi ottaa tai periä toisen luokan ominaisuudet ja menetelmät. Toisin sanoen se mahdollistaa uuden luokan luomisen olemassa olevaan luokkaan, joka tunnetaan nimellä perusluokka tai superluokka. Perusluokan ominaisuuksien ottamisen jälkeen muodostunutta luokkaa kutsutaan johdettu luokka tai alaluokka.





Tämä johdettu luokka C#:ssa ei vain ota perusluokan ominaisuuksia, vaan voi myös lisätä omia ainutlaatuisia ominaisuuksia.

Kuinka perintö toimii C#:ssa

C#:ssa perinnöllisyys saavutetaan kaksoispisteen avulla (:) symboli. Perusluokan nimi määritellään kaksoispisteen jälkeen, ja sen määrittää johdettu luokka.



Seuraava on syntaksi johdetun luokan luomiseen, joka ottaa ominaisuudet perusluokasta:

luokka DerivedClass : Perusluokka

{

// johdetut luokan jäsenet

}

Tässä koodissa DerivedClass on johdetun luokan nimi, ja Perusluokka on perusluokan nimi. The : symboli osoittaa, että DerivedClass perii BaseClassilta. DerivedClassin jäsenet voivat käyttää BaseClass-jäseniä, jos he eivät ole yksityisiä.

Perinnön tyypit C#:ssa

C# tukee neljää perintötyyppiä: yksi-, monitaso-, hierarkkinen ja moniperintö. Katsotaanpa jokaista tyyppiä.

Yksittäinen perintö

Yksittäinen periytyminen on yleisin periytymistyyppi, jossa johdettu luokka ottaa tai perii vain yhden perusluokan ominaisuuksia.

Esimerkiksi, annettu koodi selittää luokkahierarkian ja esittelee periytymiskäsitteitä.

järjestelmän avulla ;

järjestelmän avulla ;
luokan auto
{
julkinen mitätön alkaa ( )
{
Konsoli. WriteLine ( 'Auto käynnistyi' ) ;
}
}
luokan Tesla : Auto
{
julkinen mitätön Kiihdytä ( )
{
Konsoli. WriteLine ( 'Tesla kiihtyy' ) ;
}
}
luokan ohjelma
{
staattinen mitätön Main ( merkkijono [ ] args )
{
Tesla myTesla = uusi Tesla ( ) ;
myTesla. alkaa ( ) ; // Lähtö: Auto käynnistyi
myTesla. Kiihdytä ( ) ; // Lähtö: Tesla kiihtyy
}
}

Yllä olevassa koodissa Autoluokka on perusluokka ja sillä on menetelmä nimeltä Alkaa() , joka yksinkertaisesti tulostaa viestin Auto käynnistyi konsoliin.

The Tesla luokka on johdettu Car-luokasta, ja se sisältää kaikki Car-luokan ominaisuudet. Tesla-luokka lisää menetelmän nimeltä Nopeuta () , joka tulostaa viestin Tesla kiihtyy konsoliin.

The Pää() Funktio määrittää Tesla-luokan esiintymän nimeltä myTesla ja kutsuu sen Start()- ja Accelerate()-menetelmiä.

Monitasoinen perintö

Monitasoinen periytyminen tarkoittaa sitä, että johdettu luokka perii toiselta johdetulta luokalta, joka puolestaan ​​perii perusluokasta.

Esimerkiksi, seuraava C#-koodi osoittaa periytymisen ja menetelmän ohituksen luokkahierarkiassa.

järjestelmän avulla ;
luokan eläin
{
julkinen mitätön Syödä ( )
{
Konsoli. WriteLine ( 'Eläinten syöminen' ) ;
}
}
luokan nisäkäs : Eläin
{
julkinen mitätön Juosta ( )
{
Konsoli. WriteLine ( 'Nisäkäs juoksee' ) ;
}
}
luokan Koira : Nisäkäs
{
julkinen mitätön Haukkua ( )
{
Konsoli. WriteLine ( 'Koira haukkuu' ) ;
}
}
luokan ohjelma
{
staattinen mitätön Main ( merkkijono [ ] args )
{
Koira myDog = uusi Koira ( ) ;
koirani. Syödä ( ) ; // Tulos: Eläinten syöminen
koirani. Juosta ( ) ; // Tulos: Nisäkäs juoksee
koirani. Haukkua ( ) ; // Tulos: koiran haukku
}
}

Tässä Koira on johdettu luokka, joka perii Nisäkäs , joka puolestaan ​​perii Eläin . Koira-luokalla on pääsy kaikkiin Nisäkkään ja Eläimen ominaisuuksiin, menetelmiin ja käyttäytymiseen, ja se voi myös määritellä oman ainutlaatuisen menetelmänsä Haukkua() .

The Eläinten luokka on perusluokka ja sillä on menetelmä nimeltä Syödä() , joka yksinkertaisesti tulostaa viestin Animal eats konsoliin.

The Nisäkäsluokka on johdettu Animal-luokasta ja lisää menetelmän nimeltä Juosta() , joka tulostaa viestin Mammal running konsoliin.

The Koiran luokka on johdettu Mammal-luokasta ja lisää menetelmän nimeltä Haukkua() , joka tulostaa viestin Koiran haukkuminen konsoliin.

Main()-metodi luo esiintymän Dog-luokasta nimeltä koirani ja kutsuu sen Eat(), Run() ja Bark()-menetelmiään.

Huomaa, että Eat()- ja Run()-metodeja ei ole määritelty Dog-luokassa, vaan ne peritään sen pääluokista. Eläin ja Nisäkäs , vastaavasti. The Haukkua() menetelmä on määritelty vain Koira-luokassa.

  Teksti
Kuvaus luotu automaattisesti

Hierarkkinen perintö

Hierarkkisessa perinnössä eri määrä johdettuja luokkia peritään vain yhdestä perusluokasta. Esimerkiksi:

järjestelmän avulla ;
luokan muoto
{
julkinen mitätön Piirrä ( )
{
Konsoli. WriteLine ( 'Piirrä muoto' ) ;
}
}
luokan ympyrä : Muoto
{
julkinen mitätön Täyttää ( )
{
Konsoli. WriteLine ( 'Täyttöympyrä' ) ;
}
}
luokan aukio : Muoto
{
julkinen mitätön Väri ( )
{
Konsoli. WriteLine ( 'Väritys neliö' ) ;
}
}
luokan ohjelma
{
staattinen mitätön Main ( merkkijono [ ] args )
{
Circle myCircle = uusi ympyrä ( ) ;
myCircle. Piirrä ( ) ; // Tulostus: Piirustusmuoto
myCircle. Täyttää ( ) ; // Tulos: Täytetään ympyrä

Neliö mySquare = uusi aukio ( ) ;
mySquare. Piirrä ( ) ; // Tulostus: Piirustusmuoto
mySquare. Väri ( ) ; // Tulos: neliön väritys
}
}

Yllä olevassa koodissa molemmat Ympyrä ja Neliö ovat johdettuja luokkia, jotka perivät Muoto . Heillä on pääsy Shapessa määritettyyn Draw()-menetelmään, ja he voivat myös määrittää omat ainutlaatuiset menetelmänsä Fill() ja Color().

Täällä loimme Circle-luokan objektin nimeltä myCircle ja esine Neliö luokka nimeltä mySquare . Soitamme sitten Piirrä () menetelmä, joka on peritty Shape-luokasta, molemmissa objekteissa.

Seuraavaksi kutsumme Täyttää() menetelmä myCirclessä, joka on erityinen Circle-luokassa, ja Väri() menetelmä mySquaressa, joka on neliöluokkakohtainen.

Tulos tulostetaan konsoliin seuraavasti:

  Teksti
Kuvaus luodaan automaattisesti keskitasolla

Moniperintö

Moniperintö tarkoittaa sitä, että johdettu luokka perii useista perusluokista. C# ei kuitenkaan tue moniperintöä. Samanlaisen toiminnan saavuttamiseksi C# käyttää käyttöliittymät .

Johtopäätös

Periytys C#:ssa sallii luokat periä käyttäytymisen ja toiminnallisuuden perusluokista. Perinnön avulla voimme käyttää koodia uudelleen ja luoda hierarkkisen kulun ohjelman sisällä. Ymmärtämällä eri periytymistyypit voidaan kirjoittaa tehokkaampaa ja järjestetympää koodia, jota on helpompi ylläpitää ja laajentaa.