Manuale di C++CAP8.pdf

Share Embed Donate


Short Description

Manual C++ Chapter 8...

Description

Capitolo 8: PROGRAMMAZIONE AD OGGETTI

I costrutti analizzati fin'ora costituiscono gia` un linguaggio che ci consente di realizzare anche  programmi complessi e di fatto, salvo alcuni dettagli, quanto visto costituisce il linguaggio linguaggio C. Tuttavia il C++ e` molto di piu` e offre caratteristiche nuove che estendono e migliorano il C,  programmazione a oggetti, RTTI (Run (Run Time Type Information), programmazione generica, generica, gestione delle eccezioni sono solo alcune delle caratteristiche che rendono il C++ diverso dal C e migliore di quest'ultimo sotto molti aspetti. Si potrebbe apparentemente dire che si tratta solo di qualche aggiunta, in realta` nessun'altra affermazione potrebbe essere piu` errata: le eccezioni semplificano la gestione di situazioni situaz ioni anomale a run time (un compito gia` di per se` complesso), mentre il supporto alla programmazione ad oggetti e alla programmazione generica (e cio` che ruota attorno ad esse) rivoluzionano addirittura il modo di concepire e realizzare codice e caratterizzano il linguaggio fino a influenzare il codice prodotto in fase di compilazione (notevolmente diverso da quello prodotto dal compilatore C). Inizieremo ora a discutere dei meccanismi offerti dal C++ per la programmazione orientata agli oggetti, cercando contemporaneamente di esporre i principi alla base di tale metodologia di codifica. E` bene sottolineare subito che non esiste un unico modello di programmazione orientata agli oggetti, ma esistono differenti formulazioni spesso differ enti in pochi dettagli che hanno pero` una influenza notevole, quanto segue riferira` unicamente al modello offerto dal C++.

8.1 L'idea di base La programmazione orientata agli oggetti (OOP) impone una nuova visione di concetti quali "Tipo di dato" e "Operazioni sui dati". In contrapposizione al paradigma procedurale dove si distingue tra entita ` passive (Dati) e entita` attive (operazioni sui dati), la OOP vede queste due categorie come due aspetti di una unica realta`. In ottica procedurale volendo realizzare una libreria per la matematica sui complessi, sarremmo  portati a scrivere #include #include using namespace std; struct Complex { double Re; double Im; }; void Print(Complex& Val) { cout
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF