Differenze tra le versioni di "Pascal/Concetti fondamentali"

Jump to navigation Jump to search
nessun oggetto della modifica
In questo modo abbiamo definito la classe TStudente che contiene i campi Nome, Cognome e AnnoDiNascita, e i metodi per memorizzare i dati o per ottenerli dall'esterno.
 
==L'ereditarietà==
La programmazione orientata agli oggetti utilizza per gli oggetti una gerarchia ben definita che si rivela molto utile e produttiva ai fini della scrittura del programma.
Questa gerarchia si può rappresentare esattamente come un albero genealogico. I benefici portati da questa pratica sono vari.
 
Immaginiamo un programma che faccia largo uso delle finestre, quindi creiamo una classe che descrive i vari comportamenti di una finestra: la riduzione a icona, lo spostamento, l'ingrandimento ecc. Noi sappiamo dall'uso del computer che non c'è solamente un tipo di finestra: ci sono le MessageBox, le finestre di dialogo, le finestre di editing, ecc. quindi dovremmo creare una classe per ogni tipo di finestra e ridefinire i vari comportamenti per ogni tipo di finestra; ma se invece creaiamo una classe per ogni finestra che eredita da una classe principale di una finestra generica, eviteremo di definire i comportamenti principali per ogni finestra.
 
Quindi un oggetto2 che eredita da oggetto1 potrà usufruire di tutti i suoi campi e metodi.
 
Da qui appare chiaro il perchè usare l'ereditarietà. Ecco un esempio in codice:
<source lang=pascal>
TYPE TBox1 = OBJECT
Altezza, Lunghezza, Larghezza: integer;
PROCEDURE Disegna;
PROCEDURE Imposta(alt, lung, larg: integer);
END;
TBox2 = OBJECT (TBox1) {TBox2 eredita TBox1)
PROCEDURE ApriScatola;
PROCEDURE ChiudiScatola;
END;
</source>
[[Categoria:Pascal|Concetti fondamentali della OOP]]
381

contributi

Menu di navigazione