|
| |
Se, una volta fatta partire una
videolezione, non sentite l'audio
click qui
Programmazione OOP - MyCAD
conformità di tipo, polimorfismo e late binding
NOTA: consiglio la visione anche della videolezione sottostante (Simulazione
ZOO)
| Descrizione |
Semplicissimo programma 'CAD' (che
esagerazione!) in cui sono state sfruttate l'ereditarietà, la conformità di
tipo, il polimorfismo ed il late binding. Non saper sfruttare queste
caratteristiche (polimorfismo e late binding) significa rinunciare a
potenzialità fondamentali per l'OOP e non aver di fatto compreso appieno
questa metodologia di sviluppo.
L'obiettivo è mostrare come sia possibile implementare collezioni di tipi
diversi ma trattati in modo uniforme: su una form l'utente sceglie con il
pulsante destro un tipo di figura e poi la può disegnare *trascinando* il
mouse (il disegno è un vettore contenente di fatto oggetti/figure di tipo
diverso, cosa impossibile da realizzare in linguaggi OOP, almeno in modo
semplice); grazie alla OOP in seguito potrebbero essere aggiunti molti tipi
di figure senza essere costretti a modificare se non in minima parte il
codice del programma.
L'esercizio mostra anche come intercettare i click del mouse (anche in
concomitanza dei tasti SHIFT, CTRL e ALT) ed il suo trascinamento (le figure
vengono disegnate in tempo reale mentre si trascina il mouse, proprio come
avviene nei programmi da disegno professionali). Viene anche spiegato come
far ridisegnare gli oggetti grafici correttamente quando la finestra viene
spostata fuori dal desktop o viene nascosta da un'altra finestra.
|
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione) 1h15m di videolezione, in due
parti
|
| Prelievo |
click qui per la
videolezione/videoesercizio - parte prima (26m - 14 MByte)
click qui per la
videolezione/videoesercizio - parte seconda (49m 22MByte)
click qui per il
progetto Delphi usato nell'esercizio |
Programmazione OOP - SIMULAZIONE ZOO
conformità di tipo, polimorfismo e late binding
| Descrizione |
Simulazione di uno zoo sfruttando
l'ereditarietà, la conformità di tipo, il polimorfismo ed il late binding.
Non saper sfruttare queste caratteristiche (polimorfismo e late binding)
significa rinunciare a potenzialità fondamentali per l'OOP e non aver
di fatto compreso appieno questa metodologia di sviluppo.
L'obiettivo è mostrare come sia possibile implementare collezioni di tipi
diversi ma trattati in modo uniforme: una gabbia che contiene diversi tipi
di animali (un vettore contenente di fatto oggetti di tipo diverso, cosa
impossibile da realizzare in linguaggi OOP, almeno in modo semplice) a cui è
possibile inviare con un solo ciclo for lo stesso messaggio al quale ogni
oggetto 'risponderà' in modo DIVERSO). Viene anche sottolineato l'ELEVATO
grado di espandibilità: si possono aggiungere tutti i tipi di animale che si
vogliono senza modificare il codice che faceva funzionare la gabbia senza i
nuovi tipi di animali.
L'esercizio mostra anche come implementare oggetti che 'sanno' dove
disegnarsi sullo schermo ricevendo un riferimento ad una TImage (per
caricare da disco delle immagini JPEG).
|
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione) 43 minuti di videolezione
|
| Prelievo |
click qui per la
videolezione/videoesercizio (22 MByte)
click qui per i progetti
Delphi usati nel videoesercizio |
Programmazione OOP - parte terza
è indispensabile prelevare anche la prima/seconda parte qui
sotto!
| Descrizione |
L'ereditarietà; programmare per differenze;
derivare una classe TQuadrati dai TRettangoli; ridefinire il
costruttore facendo riferimento a quello della classe antenata; consentire
l'accesso ad alcune parti private dello stato interno/metodi modificando il
loro 'status' in protected; ridefinire altri metodi (perimetro). |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione) 45 minuti di videolezione
|
| Prelievo |
click qui 19 MB |
Programmazione OOP - parte seconda
è indispensabile prelevare anche la prima parte qui
sotto!
| Descrizione |
Implementazione di una classe (TRettangoli); uso
della classe in un'altra unit: creazione dell'oggetto ed uso dello stato
interno; ridefinire il costruttore standard; proteggere l'accesso di alcune
parti dello stato interno/metodi con lo specificatore private;
specificatore public; metodi 'osservatori' per leggere il valore di
una variabile private; metodi 'modificatori' per cambiare il valore
di una variabile private; passaggio di riferimenti a componenti
visuali ad un metodo di una classe (metodo 'disegna' che riceve un
riferimento alla form su cui tracciare il rettangolo); gestire il
problema dei riferimenti circolari a unit. |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione) 58 minuti di videolezione
|
| Prelievo |
click qui 28 MB |
Programmazione OOP - parte prima
| Descrizione |
Concetti della programmazione 'tradizionale' che
mantengono la loro validità nella programmazione OOP (modularità,
information hiding: sottoprogrammi, progetti multisorgente, unit e
rispettive regole di visibilità); incapsulamento: concetto di classe ed
oggetto; stato interno e metodi; il costruttore di una classe; esempio di un
costruttore che inizializza lo stato interno. |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione) 46 minuti di videolezione
|
| Prelievo |
click qui 18MB |
|