Un esempio di classe
Un esempio pratico dovrebbe rendere più chiari i concetti di classe e oggetti della programmazione OOP.
La classe Rettangolo
In questo esempio definisco una classe di nome Rettangolo.
La classe è composta da tre variabili
- base
- altezza
- vertice
Le variabili base e altezza sono numeri scalari che misurano la lunghezza dei lati del rettangolo.
Il vertice, invece, indica la posizione del rettangolo nel piano. Sono le coordinate (x,y) dell'angolo in alto a sinistra del rettangolo.
Quando istanzio un oggetto alla classe, ad esempio l'oggetto R, definisco i valori delle variabili base, altezza e vertice.
La classe Punto
Nella classe Rettangolo il vertice è una coppia ordinata di numeri (x,y) e ha natura diversa rispetto alla base e all'altezza.
Per semplificare creo una seconda classe chiamata Punto composta da due variabili
- x
- y
In questo modo, ogni posizione (x,y) del rettangolo diventa un oggetto della classe Punto.
Quando istanzio un oggetto R alla classe Rettangolo, indico due numeri per definire la lunghezza e la larghezza.
Il vertice è, invece, un riferimento all'oggetto P della classe Punto.
La coppia di numeri x e y che definisce le coordinate del vertice si trovano nell'oggetto P della classe Punto.
A cosa serve?
Immaginiamo di aver creato mille rettangoli in posizioni diverse dello spazio a due dimensioni (x,y).
Per qualche ragione, voglio modificare le coordinate nello spazio a tre dimensioni (x,y, z).
Posso farlo senza dover modificare i mille rettangoli, mi basta modificare la classe Punto aggiungendo una variabile z uguale a zero.
E così via.