mo ştenirea claselor

8
Moştenirea claselor Programarea calculatoarelor şi limbaje de programare II Capitolul 5

Upload: winter

Post on 06-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Mo ştenirea claselor. Programarea calculatoarelor şi limbaje de programare II Capitolul 5. Obiective. Înţelegerea modului în care se pot crea clase noi prin moştenirea din clasele existente Înţelegerea modului în care moştenirea promovează reutilizarea codului - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mo ştenirea claselor

Moştenirea claselor

Programarea calculatoarelor şi limbaje de programare II

Capitolul 5

Page 2: Mo ştenirea claselor

Obiective

Înţelegerea modului în care se pot crea clase noi prin moştenirea din clasele existente

Înţelegerea modului în care moştenirea promovează reutilizarea codului

Înţelegerea noţiunilor de clasă de bază şi clasă derivată

Page 3: Mo ştenirea claselor

Moștenirea claselor

Moştenirea este un concept central în POO Se folosește atunci când dorim să adaugăm în

program o clasă asemănătoare cu o altă clasă din program, dar care are câteva atribute sau metode noi

Page 4: Mo ştenirea claselor

Diferența dintre compunere și moștenire

Atât Compunerea cât și Moștenirea sunt tehnici de implementare a unei clase noi folosindu-ne de clasele pe care le avem deja în program

Compunerea transpune conceptul HAS-A de tip parte/întreg prin înglobarea în noua clasă a unor obiecte din altă clasă

Moștenirea transpune conceptul IS-A care presupune că noua clasă este o variantă mai elaborată a altei clase

Page 5: Mo ştenirea claselor

Moștenirea claselor

Moștenirea transpune conceptul IS-A care presupune că noua clasă este o variantă mai elaborată a altei clase

Patrulater

Paralelogram Trapez

Romb

Patrat Moștenire

Clasă de bază

Clasă derivată

Page 6: Mo ştenirea claselor

Moștenirea claselorclass Patrulater{public: Patrulater(double v1, double v2, double v3, double v4){ L1 = v1; L2 = v2; L3 = v3; L4 = v4; } double perimetru(){ return L1+L2+L3+L4; }protected: double L1, L2, L3, L4;};

class Paralelogram : public Patrulater{public:

Paralelogram(double L1, double L2) : Patrulater(L1, L2, L1, L2){

}};

Page 7: Mo ştenirea claselor

Membrii protected

Membrii public ai unei clase de bază pot fi accesaţi de orice funcţie din program

Membrii private ai unei clase de bază sunt accesibili doar funcţiilor membre sau prietenilor clasei

Membrii protected ai unei clase de bază pot fi accesaţi doar de membrii şi de prietenii clasei de bază de membrii şi prietenii claselor derivate

Page 8: Mo ştenirea claselor

Membrii protected

Datele protected depăşesc ideea de încapsulare pentru că o schimbare a membrilor protected din clasa de bază poate influenţa toate clasele derivate se recomandă ca datele membre să fie

declarate private protected trebuie folosit numai atunci când

este strict necesar