Page 658 - Informatica dalla A a Z
P. 658

Le Classi


           Possiamo pensare ad una classe come ad una evoluzione della “Struct”, ovvero come una
           sorta di stampo per realizzare oggetti. Per definire una classe di un dato oggetto si devono
           definire le caratteristiche degli oggetti che da quella classe verranno realizzati. Per far que-
           sto si utilizzerà la parola chiave class.

           Il C++ utilizza una particolare tecnica detta: “Incapsulamento”, che consiste nell’occulta-
           mento delle informazioni all’interno di una classe.

           Nota: le classi cercano di nascondere il proprio funzionamento a chi le utilizza.

           Le variabili e gli elementi in genere presenti all’interno di una classe non sono visibili e
           utilizzabili all’esterno ma solo all’interno della classe stessa. Ad ogni modo, per poter es-
           sere utilizzata una classe richiede che alcuni membri siano resi pubblici, ossia siano gestibili
           dall’esterno per poter invocare una serie di operazioni sulla classe stessa, e lo si fa attra-
           verso la parola riservata public seguita dai due punti.
           L’accesso public rende visibili e utilizzabili i membri che seguono la relativa parola chiave
           da qualsiasi punto del codice in cui risulta visibile la classe stessa.
           Esempio:

                                                     class Prova
                                                     {
                                                       public:
                                                       int x;
                                                       int y;
                                                     };



           Un altro vantaggio che si ha usando la classe al posto di una struct è senza dubbio dato
           dalla possibilità di includere una o più funzioni direttamente nella classe stessa (funzioni
           membro della classe).

           Nota: Una volta creato lo stampo di un oggetto, sarà possibile produrre quanti oggetti vo-
           gliamo  possedenti  quelle  caratteristiche  generali.  La  singola  copia  dell’oggetto  creato

           prende il nome di istanza dell’oggetto.

           Una classe deve includere al proprio interno una funzione speciale, il costruttore, che viene
           chiamata automaticamente dal sistema quando viene creato un nuovo oggetto e che con-
           sente al programmatore di impostare le inizializzazioni per le variabili membro.
           Il costruttore deve avere come nome lo stesso nome della classe a cui appartiene e non
           deve restituire alcun valore.
           Il distruttore, invece, è una funzione il cui nome è identico a quello della classe, come av-

           viene per il costruttore, ma è preceduto dal carattere speciale “~” (tilde).
           Il criterio di suddividere in moduli i programmi va sotto il nome di programmazione modu-
           lare. Lo scopo è quello di facilitare il riuso del codice.



                                                            654
   653   654   655   656   657   658   659   660   661   662   663