Mikä on Inheritance Constructor C++:ssa

Mika On Inheritance Constructor C Ssa



C++:ssa, perinnöstä on avainkäsite olio-ohjelmoinnissa. Johdettu luokka voi periä perusluokan piirteet ja käyttäytymisen voimakkaiden ansiosta perinnöstä kyky C++:ssa. Johdettu luokka perii välittömästi kaikki perusluokan jäsenet, kun se muodostetaan. On välttämätöntä, että johdettu luokkakonstruktori alustaa myös perusluokan jäsenet. C++:ssa, perinnöstä on tehokas ominaisuus, jonka avulla kehittäjät voivat käyttää koodia uudelleen, parantaa tehokkuutta ja järjestää koodin loogisiin hierarkioihin.

Perinnön lisäksi konstruktorit ovat välttämättömiä C++:ssa. A rakentaja on ainutlaatuinen jäsentoiminto, jonka avulla voit alustaa kohteen ominaisuudet. An Perinnön rakentaja on konstruktori, jota käytetään alustamaan sekä perusluokan että johdetun luokan perimät johdetut luokkaobjektit. The perinnön rakentaja on vastuussa sekä perittyjen perusluokan jäsenten että johdettujen luokan jäsenten alustamisesta. Tämän saavuttamiseksi rakentaja kutsuu perusluokan konstruktoria ja varmistaa, että kaikki johdetun luokan jäsenet on alustettu oikein, mukaan lukien perusluokasta perityt.

Kutsumalla perusluokan konstruktori ja välittämällä sille tarvittavat parametrit, perinnön rakentaja alustaa perusluokan jäsenet. Tämä saavutetaan käyttämällä 'perusluokka(args)' alustusluettelo konstruktorissa. Muut johdettuun luokkaan liittyvät ohjeet löytyvät konstruktorin rungosta.







Syntaksi kohteelle perinnöllinen C++:n luokka on:



luokkaa DerivedClass : accessSpecifier BaseClass {
// luokan jäseniä
} ;

Tässä tapauksessa muodostettava uusi luokka, 'DivedClass', perii 'Perusluokka'. Perittyjen jäsenten käyttöoikeustaso määritellään ' accessSpecifier”. C++ käyttää kolmen tyyppisiä pääsymäärityksiä, nimittäin 'julkinen yksityinen', ja 'suojattu' . sana 'julkinen' osoittaa, että johdetulla luokalla on pääsy perusluokan julkisiin jäseniin. Johdetulla luokalla ei ole pääsyä perusluokan jäseniin 'yksityinen' määrittäjä. Johdetulla luokalla on pääsy suojattuihin perusluokan jäseniin, jotka heidän lapsiluokat voivat periä 'suojattu' määrittäjä.



Esimerkki perinnöstä C++:ssa

Seuraava esimerkki näyttää toteutuksen Perintö C++:ssa:





#include
käyttämällä nimiavaruus std ;

luokkaa Eläin {
julkinen :
mitätön syödä ( ) {
cout << 'Voin syödä!' << endl ;
}
mitätön nukkua ( ) {
cout << 'Voin nukkua!' << endl ;
}
} ;
luokkaa Kissa : julkinen Eläin {
julkinen :
mitätön Miau ( ) {
cout << 'Voin miau!' << endl ;
}
} ;
int pää ( ) {
Kissa kissa 1 ;
kissa 1. syödä ( ) ;
kissa 1. nukkua ( ) ;
kissa 1. Miau ( ) ;

palata 0 ;
}

Annettu koodi määrittelee kaksi luokkaa, 'Eläin' ja 'Kissa' , missä 'Kissa' on johdettu 'Eläin' . Molemmilla luokilla on joitain jäsentoimintoja, kuten 'syö', 'nuku' , ja 'Miau' . Pääfunktio luo luokan objektin 'Kissa' ja soittaa peritty toimintoja luokasta 'Eläin' sekä luokan erityistehtävä 'Kissa' , mikä on 'Miau' . Ohjelma tulostaa tekstin konsoliin, mikä osoittaa, että kissa voi syödä, nukkua ja miau.

Lähtö



Kun luokka johdetaan, kaikki perusluokan jäsenmuuttujat ja jäsenfunktiot siirretään johdettuun luokkaan. The peritty jäsenten saavutettavuus johdetussa luokassa määräytyy käyttöoikeusmäärityksen mukaan. Johdettu luokka voi myös korvata uusia ominaisuuksia jo olemassa oleville. Se voi lisätä uusia toteutuksia perusluokan menetelmille ja lisätä uusia jäsenfunktioita ja muuttujia.

On tärkeää muistaa, että perinnön rakentaja on käytettävä perusluokan konstruktoriin eksplisiittisesti kutsumiseen tarvittavilla parametreilla, jos perusluokalla on oletuskonstruktori tai jos se ei ole käytettävissä.

Johtopäätös

Vahva ominaisuus perinnöstä C++:ssa sallii luokkien käyttää koodia uudelleen perimällä ominaisuuksia ja toimintoja muilta. Hyödyllinen C++:n ominaisuus perinnön rakentaja mahdollistaa johdettujen luokkien periä perusluokan ominaisuudet, menetelmät ja datajäsenet. Kun perusluokan rakentajien alustusluettelo on lisätty, se määritellään käyttämällä samaa syntaksia kuin tavallinen rakentaja. C++-ohjelmoijat voivat minimoida koodin päällekkäisyyden ja parantaa koodin rakennetta käyttämällä perinnön rakentaja . Se on tärkeä työkalu monimutkaisten luokkahierarkioiden luomiseen olioohjelmoinnissa.