Mi az Inheritance Constructor a C++ nyelven

Mi Az Inheritance Constructor A C Nyelven



C++ nyelven, öröklés kulcsfogalom az objektum-orientált programozásban. Egy származtatott osztály örökölheti egy alaposztály tulajdonságait és viselkedését az erőseknek köszönhetően öröklés képesség C++ nyelven. A származtatott osztály létrehozásakor azonnal örökli az alaposztály összes tagját. Szükséges, hogy a származtatott osztálykonstruktor inicializálja az alaposztály tagjait is. C++ nyelven, öröklés egy hatékony funkció, amely lehetővé teszi a fejlesztők számára a kód újrafelhasználását, a hatékonyság növelését és a kód logikai hierarchiákba rendezését.

Az öröklődés mellett a konstruktorok is elengedhetetlenek a C++-ban. A konstruktőr egy egyedi tagfüggvény, amely lehetővé teszi az objektum tulajdonságainak inicializálását. An Öröklődés konstruktor egy konstruktor, amely mind az alaposztály, mind a származtatott osztály által örökölt objektumok inicializálására szolgál. A öröklési konstruktor felelős mind az örökölt alaposztálytagok, mind a származtatott osztálytagok inicializálásáért. Ennek eléréséhez a konstruktor meghívja az alaposztály konstruktorát, biztosítva, hogy a származtatott osztály minden tagja megfelelően inicializálva legyen, beleértve az alaposztálytól örökölteket is.

Az alaposztály konstruktorának meghívásával és a szükséges paraméterek átadásával a öröklési konstruktor inicializálja az alaposztály tagjait. Ezt a „alaposztály(args)” inicializálási lista a konstruktorban. A származtatott osztályra vonatkozó további utasítások a konstruktor törzsében találhatók.







A szintaxis a számára örökölni egy osztály a C++ nyelven:



osztály DerivedClass : accessSpecifier BaseClass {
// osztály tagjai
} ;

A kialakuló új osztály ebben az esetben, „DerivedClass”, től fog örökölni „Alaposztály”. Az örökölt tagokhoz való hozzáférés szintjét a „ accessSpecifier”. A C++ háromféle hozzáférési specifikációt használ, nevezetesen „nyilvános”, „magán”, és 'védett' . A szó 'nyilvános' azt jelzi, hogy a származtatott osztály hozzáfér az alaposztály nyilvános tagjaihoz. A származtatott osztálynak nincs hozzáférése az alaposztály tagjaihoz, a szerint 'magán' specifikáló. A származtatott osztály hozzáfér a védett alaposztály tagjaihoz, amelyeket a gyermekosztályaik örökölhetnek, a 'védett' specifikáló.



Példa az öröklődésre C++ nyelven

A következő példa a megvalósítását mutatja be Öröklés C++ nyelven:





#include
segítségével névtér std ;

osztály Állat {
nyilvános :
üres eszik ( ) {
cout << 'Tudok enni!' << endl ;
}
üres alvás ( ) {
cout << 'Tudok aludni!' << endl ;
}
} ;
osztály Macska : nyilvános Állat {
nyilvános :
üres miaú ( ) {
cout << – Tudok nyávogni! << endl ;
}
} ;
int fő- ( ) {
Macska macska1 ;
cat1. eszik ( ) ;
cat1. alvás ( ) ;
cat1. miaú ( ) ;

Visszatérés 0 ;
}

A megadott kód két osztályt határoz meg, 'Állat' és 'Macska' , ahol 'Macska' -ből származik 'Állat' . Mindkét osztálynak van néhány tagfüggvénye, mint pl 'enni aludni' , és 'miaú' . A fő függvény létrehozza az osztály objektumát 'Macska' és felhívja a örökölt funkciókat az osztályból 'Állat' valamint az osztály sajátos funkciója 'Macska' , ami 'miaú' . A program kiírja a szöveget a konzolra, jelezve, hogy a macska tud enni, aludni és nyávogni.

Kimenet



Amikor egy osztályt származtatnak, az alaposztály összes tagváltozója és tagfüggvénye átkerül a származtatott osztályba. A örökölt a tagok elérhetőségét a származtatott osztályban a hozzáférés-specifikátor határozza meg. A származtatott osztály új funkciókkal is helyettesítheti a már meglévőket. Új megvalósításokat adhat hozzá az alaposztály metódusaihoz, és új tagfüggvényeket és változókat adhat hozzá.

Fontos megjegyezni, hogy a öröklési konstruktor Az alaposztály konstruktorának explicit meghívására kell használni a szükséges paraméterekkel, ha az alaposztálynak van alapértelmezett konstruktora, vagy ha az nem elérhető.

Következtetés

Az erős tulajdonsága öröklés A C++-ban lehetővé teszi az osztályok számára, hogy a kódot újra felhasználják, jellemzőket és műveleteket örökölve másoktól. A C++ hasznos funkciója öröklési konstruktor lehetővé teszi a származtatott osztályok számára, hogy örököljék egy alaposztály tulajdonságait, metódusait és adattagjait. Az alaposztály-konstruktorok inicializálási listájának hozzáadásával ez ugyanazt a szintaxist használja, mint a szabványos konstruktor. A C++ programozók minimalizálhatják a kódduplikációt és javíthatják a kódszerkezetet a öröklési konstruktor . Az objektumorientált programozás összetett osztályhierarchiáinak létrehozásához fontos eszköz.