Extras din curs
1. Clase derivate.
Prin mostenire, atributele unei clase de baza sunt transmise unor clase derivate. Derivarea permite definirea unor clase noi, prin adaugarea unor functionalitati noi unor clase deja existente, fara reprogramare sau recompilare.
Clasa derivata mosteneste caracteristicile unei clase de baza (sau mai multor clase de baza, în cadrul mostenirii multiple), la care adauga caracteristici noi, specifice.
Clasa derivata mosteneste datele membri si functiile membri din clasa de baza, exceptând constructorii, destructorii si operatorul de atribuire.
Exemplu de derivare:
trapez paralelogram dreptunghi patrat
romb
Reutilizarea codului se poate realiza în doua moduri:
• prin compunere – incluzând obiecte în cadrul altor obiecte
• prin mostenire – creind obiecte noi din cele existente
Sintaxa specificarii unei clase derivate este:
class nume_clasa_derivata : specif_acces nume_clasa_baza{
// corp clasa
};
În cazul mostenirii multiple este posibila mostenirea din mai multe clase de baza:
class derivata : acces1 baza1, ..., accesn bazan {
// corp clasa;
};
O baza directa este mentionata în lista claselor de baza ale clasei derivate.
Prin mostenire multipla si indirecta se creaza ierarhii de clase, care sunt grafuri orientate aciclice (în cazul mostenirii simple avem un arbore orientat).
Exemplu de mostenire multipla:
triunghi dreptunghic dreptunghic-isoscel
isoscel echilateral
Preview document
Conținut arhivă zip
- Clase derivate.doc