La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione XI Laboratorio di Programmazione. Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra.

Presentazioni simili


Presentazione sul tema: "Lezione XI Laboratorio di Programmazione. Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra."— Transcript della presentazione:

1 Lezione XI Laboratorio di Programmazione

2 Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra. Classe A Classe B B e sottoclasse di A A e superclasse di B B aggiunge i propri metodi e attributi a quelli di A. Sintassi: class B: public A;

3 Ereditarieta Ad esempio: CPoligono CRettangoloCTriangolo class CRettangolo : public CPoligono; class CTirangolo : public CPoligono; int base,altezza; Metodo area diverso!

4 Public, private e protected Classe A Classe B public: int x; private: int y; protected: int z; Classe C La keyword protected si comporta come public anche per le sottoclassi, mentre con le altre si comporta come private. (utile per accedere ad attributi della superclasse) C vede solo A.x B vede A.x e A.z

5 Esempio class CPoligono { protected: int base,altezza; public: void valori (int a, int b); }; class CRettangolo: public CPoligono { public: int area (void) { return (base * altezza); } }; class CTriangolo: public CPoligono { public: int area (void) { return (base * altezza / 2); } };

6 Ereditarieta multipla Permette di specificare un nuova classe che dispone di metodi ereditati contemporaneamente da piu classi. Classe AClasse B Sintassi: class C: public A, public B; Classe C

7 Ereditarieta multipla Sempre un esempio con i poligoni: RomboRettangolo Quadrato

8 Ereditarieta multipla CPoligono CRettangoloCTriangolo COutput class COutput { public: void output (int i); }; class CRettangolo: public CPoligono, public COutput {... }; In questo caso un oggetto X della classe CRettangolo avra a disposizione: X.area e X.output(...)

9 Esercizio Persona StudenteProfessore Corso Modellare le classi persona, professore, studente e corso. Scrivere un programma per la ricerca degli alunni che seguono il corso del prof x. Nome, cognome Matricola Corsi seguiti Ufficio Corso impartito


Scaricare ppt "Lezione XI Laboratorio di Programmazione. Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra."

Presentazioni simili


Annunci Google