származtatott osztályokban

Származtatott osztályokban. polimorfizmus
A származtatott osztály lehet tekinteni, mint egy kiterjesztése egy létező osztályhoz. Az eredeti osztály az úgynevezett alap vagy a szülő és a származékot - alosztálya vagy leszármazottja. A származtatott osztály egy kiterjesztése vagy módosítása az alap osztály. Miután a szülő osztály, akkor egyetlen felületen több származtatott osztályokban.
Minden osztálynak lehet egy szülő, és minden származtatott osztály fogja követni a leírását. Leszármazott osztály lehetnek további jellemzői a bázishoz képest osztályban. A származtatott osztály módosíthatja a hozzáférési jogokat, hogy új elemeket, vagy túl a meglévő eljárások.
származtatott osztály szintaxist:

osztály ImyaProizvodnogoKlassa: (nyilvános / zárt / védett)

A szó állami, magán- és védett módosítók származnak-osztály módszerek elemeinek elérésére a szülő osztályban. A nyilvános módosító nem változik, hogy milyen típusú hozzáféréssel, saját hatásosabbá teszi az összes elemét az alap osztály hozzáférés típusát magán, és a védett módosító lehetővé teszi a hozzáférést származtatott osztály módszerek közös elemeit az alap osztály, hanem megtagadja a hozzáférést minden más módszer. Ha meg akarjuk változtatni egyes elemeit a hozzáférés típusát, közölték a származtatott osztály ismét a megfelelő részben.
Ha a származtatott osztály csak az egyik szülő osztály, öröklési azt mondják, hogy az egyszerű, más néven komplex öröklési. Példa komplex öröklés:

C osztály: nyilvános A, védett B;

Virtuális függvények
A módszer lehet nyilvánítani virtuális. Ebben az esetben, amikor az ébred az alapon keresztül osztályú pointer lesz az úgynevezett származtatott osztály módszer.
például:

// virtuális alap osztály módszer

// a szokásos módszer az alap osztály

osztály nyert: nyilvános adatbázisa

// származtatott osztály virtuális módszer

// a szokásos módszer a származtatott osztály

// határozza meg a mutató egy alap osztály

// Beállítjuk az első mutatót hivatkozás egy származtatott osztály

Bp-> virt (); // hívja virtuális módszer Manuf. osztályban.

Bp-> nonVirt (); // Hívás alap osztály nem virtuális módszerrel.

Ha meg kell hívni a virtuális módszer a bázis osztály, akkor adja meg a nevét az osztály hatálya felbontás művelet:

bp_> Base :: virt (); // hívja virtuális alap osztály módszer.

barátja void ClassB :: FuncName (); // barátságos osztály
barátja void regularFunc (int); // barátja funkció
>;

A barátságos funkciókat nem befolyásolja hozzáférés előírást. A leírások nem közös barát, hogy van, osztály adatok nem állnak rendelkezésre, hogy az osztály, hirdesd barátságos. Barát nem örökölhető.

Kapcsolódó cikkek