3
Nel caso del registro automobilistico dell’auto ha interesse solo il numero di matricola
del telaio, il nome ed il cognome
del proprietario, l’indirizzo d
el proprietario, etc.Nel caso del meccanico ha interesse inv
ece i km percorsi dall’auto per il cambio d’olio,
i pezzi cambiati o riparati, il numero di telefono del cliente (non necessariamente ilproprietario), etc
L’Astrazione è anche un meccanismo di generalizzazione del software tramite i
concetti di classi astratte e delle interface esistenti in Java.Una
classe astratta
è una classe che ha almeno un metodo astratto. Tale classe nonpuò essere istanziata ma deve essere derivata da una classe che implementi il metodoastratto tramite overloading.Una interface in Java è una particolare classe astratta che ha tutti i metodi astratti.
In C++ non esiste l’interface.
Una classe astratta potrebbe servire per derivare da essa due classi che fanno
l’overloading di scrivi_su_disco e leggi_da_disco e che possano oper
are su sistemioperativi diversi e, quindi, semplificando il porting tra sistemi operativi diversi.
Individuazione Oggetti, Classi, Metodi, Ereditarietà e Composizione nell’enunciato
del problema
Nel testo del problema, espresso in linguaggio naturale, è possibile individuare dei
termini chiave e trasformarli nell’equivalente object oriented come mostrato in
tabella.
Linguaggio naturale Equivalente Object Oriented
Nomi concreti Oggetti (entità del dominio)Nomi astratti Classi (generalizzazione di oggetti di unostesso tipo)Verbi Metodi o funzioni membro
E’ un
EreditarietàHa un Composizione
o un’Aggregazione
Incapsulamento
Nell’Object Oriented è importante nascondere l’implementazione e fornire solointerfacce per l’utilizzo delle classi. Questo
significa che chi usa le classi non può, néconviene, che si possa intervenire direttamente sulle variabili membro o di stato; ma,
Add a Comment