Ora facciamo sul serio.
Come avete visto, un programma Object Pascal è sostanzialmente simile
ad uno Turbo Pascal. Quello che rende Delphi molto diverso dal primo
è semplicemente ciò che è nel programma e non la sua struttura
generale.
In questo corso si assume la conoscenza del Turbo Pascal
al cui linguaggio comunque sono state apportate delle estensioni
che vedremo più avanti. Ora vedremo meglio le differenze.
Innanzi tutto, la programmazione in Delphi è detta per componenti.
Cosa significa questo? Significa che per realizzare linterfaccia
utente di una applicazione si hanno a disposizione diversi mattoni
elementari che sono disposti in un rettangolo con un titolo.
Questi mattoni elementari possono essere personalizzati al fine
di ottenere un qualcosa di leggermente diverso nella forma e che
però non vari nella sostanza.
Questa definizione è in parte inesatta perché parziale, ma vedremo
tra breve il perché di questa mia mancanza di chiarezza.
La programmazione ad oggetti in Turbo Pascal ed in Delphi
In TP (Turbo Pascal) la programmazione per oggetti è diversa che
in Delphi.
Innanzi tutto non esiste in TP una programmazione ad oggetti
antecedente alla versione 5.5.
In secondo luogo, il concetto stesso di programmazione ad oggetti
in Delphi è interpretato in modo diverso.
In TP, infatti, non è presente il fondamentale concetto di classe,
che è invece presente in Delphi.
Una classe è la rappresentazione in codice del tipo di oggetto
e di come esso si relaziona al resto del mondo. Esaminiamo come
banale esempio unautomobile.
Volendo creare un oggetto TAutomobile in Delphi possiamo semplicemente
creare una classe automobile ed istanziarla. La variabile di tipo
TAutomobile sarà il nostro oggetto. Vediamo dunque come strutturare
questa classe.
Prima di andare avanti, però, dobbiamo introdurre alcuni concetti,
presenti in Delphi, e totalmente assenti in Pascal.
Il concetto principale che volevo mostrarvi è quello di proprietà.
Una proprietà è una caratteristica di una classe.
Ad esempio, prendiamo unautomobile: TUTTE le automobili hanno
ruote, fari, unaltezza, una larghezza, una profondità, ecc.
Tutte queste caratteristiche sono proprietà di unautomobile.
Parlando in gergo Delphi, tutte queste caratteristiche sono proprietà
della classe automobile. Guardiamo ora comè descritta unautomobile
con gli oggetti TP e con le classi Delphi:
Turbo Pascal:
type TAutomobile
= object
private
CarLenngth : Integer;
CarColor : Integer;
public
function GetCarColor : Integer;
procedure SetCarColor( Value : Integer );
function GetCarLength : Integer;
procedure SetCarLength( Value : Integer );
end;
Delphi:
type
TAutomobile = class
private
FCarLength : Integer;
FCarColor : Integer;
Public
property CarLength : Integer read FCarLength
write FCarLength;
property CarColor : Integer read FCarColor write
FCarColor;
end;
Potete notare che ci sono diverse differenze nei due approcci:
quello di TP basato sugli oggetti (object) mentre quello di Delphi
è basato sul concetto di classe (class) cui un oggetto appartiene.
Un oggetto MiaAutomobile non sarà più quindi unistanza di
un oggetto TAutomobile, ma un riferimento ad un oggetto appartenente
ad una determinata classe chiamate TAutomobile. La differenza è
tutta nel concetto: vale a dire che mentre nel TP ci si riferisce
alle entità concrete, in Delphi ci si riferisce ai
modelli dentità concrete. Vale a dire che una
classe è semplicemente una descrizione delle caratteristiche (proprietà)
e dei comportamenti (metodi) di un oggetto. La differenza dovrebbe
ormai essere chiara e nella prossima lezione vedremo queste differenze
nella pratica.
Vedremo, inoltre, un altro modo per dichiarare le proprietà che
vi darà la possibilità di capire meglio le sostanziali differenze
che intercorrono tra i due sistemi.
Alla prossima!
Torna all'indice Generale del corso di Corso di Delphi di Software Planet