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