1. Concetti teorici
Per implementare un programma con un linguaggio di programmazione pu essere utile costruire un elemento mediante un insieme di dati invece che con un singolo dato (procedimento tipico della programmazione imperativa). Un elemento costituito da un gruppo di dati viene chiamato in informatica oggetto. Un oggetto racchiude dati e codice in un unico involucro. Ci permette una riusabilit che pu far diminuire il tempo di sviluppo e aumentare la produttivit del programmatore. La definizione delloggetto viene effettuata tramite una struttura apposita, la classe. Le classi contengono tutte le informazioni utili concernenti loggetto, ovvero le variabili usate, le procedure e le funzioni che operano su di esso. Negli ultimi anni la programmazione a oggetti si sviluppata molto rapidamente. La novit pi importante degli ultimi tempi la nascita della programmazione visuale a oggetti (basta pensare alle continue immissioni sul mercato di linguaggi di questo tipo). Per visuale si intende un linguaggio che, oltre alle routine della programmazione a oggetti tradizionale, comprende la possibilit di sfruttare gli oggetti del sistema operativo su cui stato progettato il linguaggio (come pulsanti, barre di scorrimento, caselle di testo,). In questo documento abbiamo preso in considerazione la versione 5 del linguaggio DELPHI della Borland Inprise Corporation, che sfrutta il sistema operativo Windows. Naturalmente, le illustrazioni di seguito riportate, potrebbero non essere esatte per le successive versioni di DELPHI o per altri linguaggi dello stesso tipo (ad es. VISUAL BASIC).
In un linguaggio visuale gli oggetti hanno tre componenti fondamentali: Propriet (o attributi): sono delle variabili che apportano modifiche alle propriet visuali degli oggetti (lunghezza, larghezza, colore, bordi, ); Metodi: sono normali sottoprogrammi che contengono istruzioni riguardanti loggetto (ad esempio, un oggetto di tipo TMediaPlayer, che riproduce file multimediali, ha il metodo RUN che esegue il file multimediale, il metodo STOP che ne ferma lesecuzione, ecc.). Eventi: sono chiamati in causa quando lutente agisce su un oggetto (ad esempio, un utente causa un evento su un pulsante quando esegue su di esso un clic, un doppio click, passa su di esso il puntatore del mouse, ecc.); generano un metodo con le istruzioni da eseguire quando vengono richiamati; A questo punto necessario spendere alcune parole su un concetto molto importante: lereditariet. Lereditariet indica lo strumento attraverso il quale un oggetto di una classe pu ereditare propriet e metodi da una classe padre. Ad esempio, loggetto TEdit, concernente una casella di testo, lantenato delloggetto TMaskEdit, concernente una Edit personalizzata. Pi in generale, un oggetto che discende da un altro, oltre agli stessi metodi, propriet ed eventi delloggetto padre, ne ha anche di altri nuovi, specifici per lo scopo delloggetto.