Corso di Delphi

Finiamo la nostra prima applicazione

 

Un breve riassunto
Allora, cosa abbiamo fatto finora? Abbiamo creato l’aspetto visivo del programma ed abbiamo scritto QUASI tutto il suo codice. Abbiamo visto un paio di trucchi di programmazione molto carini come i confronti brevi con TRUE ecc.
Abbiamo imparato ad usare l’open dialog ed a digitare il codice nel Code Editor.
Insomma, di strada n’abbiamo fatta, no?
Ora dobbiamo finire un po’ questo programma e poi ancora un po’ di noiosissima teoria… lo so, lo so, lo so! A voi piace di più scrivere i programmi… anche a me credetemi!
In ogni caso ora buttiamoci nelle (pochissime) righe che mancano per completare il tutto, dai.

Completiamo l’applicazione
 
Per completarla basta premere due volte col pulsante sinistro del mouse sul bottone “Save”.
 Ora completiamo il codice con la seguente riga:

     FileMemo.Lines.SaveToFile( FileName );

Ecco fatto. Inserite questa riga nello spazio vuoto del pulsante Save come avete fatto per il quello Load e siamo a posto.

Non mancava molto, vero? Eh, era anche piccolina e se pensate che possa sostituire il blocco note di win… vi sbagliate. Ad ogni modo, vedremo una cosa più complessa dopo, più avanti.

Parliamo di classi
Bene, è arrivato il momento di parlare delle classi un po’ più approfonditamente.
Finora non ne sapevamo molto, ma per rendervi bene il concetto, pensate ad una classe come ad un utensile o un mezzo di locomozione, un concetto, insomma.
Prendiamo ad esempio un’automobile.
Essa avrà quattro ruote, due fari anteriori, un cofano, due o più porte ecc.
Per parlare in termini di classe, una macchina avrà:
1) Quattro elementi di tipo Ruota
2) Due o più elementi di tipo Porta
3) Due elementi di tipo Faro
4) Quattro elementi di tipo Freccia
5) Ecc.
Ogni cosa presente nella lista rappresenta un attributo( o proprietà ). Ma come si usano queste proprietà? Che sono, in concreto?

Dunque, ora lasciamo stare per un attimo l’esempio di prima e cerchiamo di vedere in sostanza una classe come si dichiara, poi riprenderemo l’esempio.

Type MiaClasse = class
end;


Quelle in corsivo sono parole riservate di Delphi. Questa è una dichiarazione base di classe.
Però prima di procedere, dobbiamo capire alcuni concetti fondamentali, già accennati in precedenza:
Ereditarietà, Polimorfismo ed Incapsulazione.

Incapsulazione: è la capacità di una classe di rappresentare in codice un concetto( poi lo vedremo meglio ).
Ereditarietà: Un’automobile cosa è? E’ un mezzo di locomozione, quindi il concetto di automobile DERIVA dal concetto di mezzo di locomozione.
Polimorfismo: Se pensiamo ad un mezzo di locomozione, ce ne sono tanti, quindi se abbiamo una classe TMezzoDiLocomozione ed istanziamo una variabile di questo tipo, noi possiamo assegmarle qualsiasi mezzo di locomozione derivato, quindi automobile, moto, ecc. Ecco il “polimorfismo” cioè una variabile di una classe può assumere come valori ogni sua classe derivata.

Esempio pratico:

Type
                 
    TMezzoDiLocomozione = class
    end;
                                                       
    TAutomobile = class( TMezzoDiLocomozione )
    end;
                  
    TMotocicletta = class( TMezzoDiLocomozione )
    end;


Guardate attentamente. Da una classe n’abbiamo ereditate due.
Questa si chiama “gerarchia di classi” e se la guardate come un albero genealogico in cui il padre è TMezzoDiLocomozione, la vedrete bene anche voi.
Ora, supponendo di istanziare una variabile di tipo TMezzoDiLocomozione, possiamo senza problemi assegnarle sia valori di tipo TAutomobile sia di tipo TMotocicletta. E’ chiaro il polimorfismo?

Adesso dovremo vedere le proprietà.

Ma lo faremo nella prossima puntata.

A presto!.

 

Torna all'indice Generale del corso di Corso di Delphi di Software Planet