Nel linguaggio C++ si utilizzano dei “modelli” chiamati classi.

Le classi sono pezzi di codice che sono collegate e che dipendono anche da altri classi, ma come primo esempio si vedrà una sola classe. La classe ContoCorrente (che in futuro si potrebbe legare ad una classe Correntista)

In particolare, il codice sorgente dell'header può essere rappresentato con la successiva immagine

contocorrente.h
#include <cmath>
 
class ContoCorrente
   {
     public:
            ContoCorrente ();                  // costruttore predefinito
            ContoCorrente(float denaro);       //costruttore
            float saldo() const;               // metodo ispettore
            void versareDenaro(float denaro);  // metodo modificatore
            void prelevareDenaro(float denaro); 
 
     private:
            float mSaldo;                        // dato membro
                              // to do: dove si puo' aggiungere il numero del conto???
   };

In questa figura si vede un esempio di schema delle classi, utile per sintetizzare il codice vero e proprio. I nomi dei dati precedono il tipo per poter essere trovati più rapidamente durante la lettura.

Dati membro

Di solito, i dati membro sono dichiarati nell'area “private” di una classe in modo da garantire il data hiding (vedere dopo). Per convenzione possono essere fatti iniziare con la lettera “m” minuscola di “membro”. Vengono anche chiamati “proprietà” della classe, e definiscono lo stato di una classe.

Funzioni membro

All'interno di una classe, di solito, sono dichiarate anche le principali funzioni che operano sui dati di quella classe. Queste funzioni sono dette funzioni membro, o anche “metodi”. Vedere l'esempio nella classe ContoCorrente. Il costruttore, il distruttore sono casi particolari (speciali) di funzioni membro che vengono studiate a parte.

Le funzioni membro della classe ContoCorrente possono essere chiamate solo tramite un oggetto di tipo ContoCorrente, col la seguente sintassi:

ContoCorrente mioConto;          // crea l'oggetto mioConto
mioConto.prelevaDenaro(30);      // chiama la funzione membro

Come si vede in questo esempio, il programmatore può chiamare la funzione “prelevaDenaro()” solo accanto ad un oggetto di classe ContoCorrente, a cui anche la funzione appartiene. Quindi prima di tutto si crea l'oggetto “mioConto” e dopo si può usare la funzione. Il programmatore può usare direttamente solo le funzioni di tipo “public” che fungono da interfaccia per l'uso della classe. Le funzioni di tipo “private” possono essere usate solo da altre funzioni membro.

Vedere anche codice sorgente di ContoCorrente.cpp

Esercizio provare ad usare le seguenti funzioni membro:

int compare ( const string& str ) const; int find ( char c, size_t pos = 0 ) const;

  • appunti3s/esempio_di_programmazione_orientata_agli_oggetti.txt
  • Last modified: 2018/04/25 07:55
  • (external edit)