La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Programmazione object oriented in C++ Le classi Software di qualità Robustezza capacità di un programma di funzionare correttamente anche in condizioni.

Presentazioni simili


Presentazione sul tema: "Programmazione object oriented in C++ Le classi Software di qualità Robustezza capacità di un programma di funzionare correttamente anche in condizioni."— Transcript della presentazione:

1

2 Programmazione object oriented in C++ Le classi

3 Software di qualità Robustezza capacità di un programma di funzionare correttamente anche in condizioni anomale Estensibilità facilità con la quale un software si può modificare in relazione a variazioni delle specifiche Compatibilità facilità con la quale un software si può interfacciare con altri prodotti software

4 La classe Rappresenta uno dei concetti (IDEA) dellapplicazione, e deve essere il più astratto e generale possibile. Nuovo tipo di variabile con facile meccanismo di protezione dei dati (incapsulamento)

5 La classe in C++ Simile nella forma ad una struttura C Contiene oltre ai dati, anche le funzioni che permettono di controllare laccesso ai dati

6 Esempio: una classe in C++ class Punto{ public: void Set(); void Print(); private: float x, y; };

7 Le classi Member function o metodi: le funzioni di una classe Una classe può nascondere allutente la sua struttura interna e consentire laccesso ai dati solo mediante le member function.

8 Dichiarazione di Oggetti Oggetto = istanza di una classe Punto pt; oggetto di tipo Punto il cui identificatore è pt Una classe non è un oggetto ma solo una sua descrizione non riserva unarea di memoria

9 Specificatori di accesso Public i membri della classe sono accessibili in tutto lo spazio di visibilità delloggetto di quella classe permettono al programmatore di accedere alle altre componenti delloggetto

10 Specificatori di accesso Private laccesso è possibile soltanto attraverso le member function (specificatore di default)

11 Operatore:: La definizione delle member function è associata alla classe di appartenenza mediante loperatore di scope resolution :: (operatore class resolution)

12 Esempio: operatore :: void Punto::Print() { cout<< Ascisse<

13 Chiamate di member function Avvengono mediante gli operatori. e -> Es. Punto pt, *p_punto; pt.Print(); p_punto->Set();

14 Member function Sezione di interfaccia sono descritte le member function header file ( Punto.h ) Sezione di implementazione sono definite le member function file sorgente ( Punto.cpp )

15 Esempio: Sezione di interfaccia class Punto{ public: void Set(); void Print(); private: float x, y; };

16 Esempio: Sezione di implementazione void Punto::Print() { cout<< Ascisse<> x; cout << Valore delle ordinate; cin >> y; }

17 Costruttore Member function particolare usato per linizializzazione dei dati Stesso nome della classe di cui è membro e non possiede alcun valore di ritorno (nemmeno void ) Richiamato direttamente al momento della dichiarazione di un oggetto

18 Distruttore Member function particolare usato per il rilascio della memoria allocata dinamicamente Stesso nome della classe preceduto dal simbolo ~, non può avere argomenti e non possiede alcun valore di ritorno (nemmeno void ) Chiamato automaticamente quando un oggetto esce dal proprio spazio di visibilità

19 Esempio: costruttore e distruttore class Punto{ public: Punto();//costruttore ~Punto();//distruttore void Set(); void Print(); private: float x, y; };

20 Esempio completo Sezione di interfaccia class Punto{ public: Punto();//costruttore ~Punto();//distruttore void Set(); void Print(); private: float x, y; };

21 Esempio completo (continua) Sezione di interfaccia //definizione costruttore classe Punto Punto::Punto() { x=y=0; } //definizione distruttore classe Punto Punto::~Punto() { cout>>Oggetto distrutto>>\n; }

22 Esempio completo (continua) Sezione di interfaccia (continua) void Punto::Print() //def. member function Print { cout<< Ascisse< x; cout > y; }


Scaricare ppt "Programmazione object oriented in C++ Le classi Software di qualità Robustezza capacità di un programma di funzionare correttamente anche in condizioni."

Presentazioni simili


Annunci Google