Brought to you by Salvatore La Bua
La programmazione orientata agli oggetti, al contrario di quella procedurale, incapsula i dati e le funzioni in entita'
chiamate classi.
In questo modo, classi diverse possono interagire tra loro pur non conoscendo vicendevolmente l'effettiva implementazione delle
stesse.
Ad esempio, una classe produce come output (dopo una determinata elaborazione) un numero reale, il quale verra' a sua volta elaborato
da un'altra classe che ne potrebbe calcolare l'elevamento ad un certo esponente. Ciascuna classe e' un oggetto indipendente e come tale
ignora il modo in cui possano venir generati gli output delle singole classi.
Detto questo, avendo definito il modo in cui le classi si interfacciano tra loro, e' possibile capire come esse possano essere
implementate indipendentemente le une dalle altre; nella programmazione procedurale, invece, non esiste una ben definita identificazione
delle entita' in gioco, in quanto sono presenti soprattutto funzioni per l'elaborazioni dei dati, salvo alcuni casi particolari.
In C o anche in C++, l'esempio piu' semplice di oggetto (verra' specificato in seguito la differenza tra struttura e classe) si
realizza con la parola struct.
Realizziamo adesso la struttura Time, tale che contenga i valori delle ore, dei minuti e dei secondi:
struct Time {
int ore;
int minuti;
int secondi;
};
Come penso sia evidente, la struttura di tipo Time e' composta da tre membri, valori interi che rappresenteranno le ore, i minuti
e i secondi.
Per ottenere l'oggetto strutturaOrario di tipo Time si puo' procedere come segue:
Time strutturaOrario;
Per impostare invece i valori dei singoli membri:
strutturaOrario.ore = 10;
strutturaOrario.minuti = 30;
strutturaOrario.secondi = 0;
A questo punto la struttura di tipo Time contiene i valori 10, 30 e 0 relativi rispettivamente ad ore, minuti e secondi.