Libro "VB 2010 spiegato a mia nonna" (15)
I concetti fondamentali della programmazione orientata agli oggetti
La programmazione orientata agli oggetti (OOP = Object-Oriented Programming) si basa su tre concetti fondamentali: l’ereditarietà, l’incapsulamento e il polimorfismo.
Per poter parlare di programmazione orientata agli oggetti vera e propria è quindi necessario che siano presenti questi tre concetti, altrimenti non è programmazione orientata agli oggetti ma, tutt’al più programmazione basata sugli eventi o programmazione basata sugli oggetti.
Essendo l’argomento molto importante, analizziamo brevemente uno a uno i concetti, per poi riprenderli nel corso del libro in modo più approfondito.
Ereditarietà
Una classe può essere derivata da un’altra classe ed ereditare così tutte le caratteristiche base, eventualmente aggiungendo alcune caratteristiche più specializzate.
Negli ultimi esempi abbiamo illustrato le caratteristiche di un ipotetico oggetto della classe Automobile. Per definire una gerarchia di oggetti più corretta e flessibile, probabilmente potremmo organizzare le classi nel seguente modo:
Veicolo
VeicoloStradale
VeicoloAPedali
Bicicletta
…
VeicoloAMotore
Moto
Automobile
Autocarro
…
VeicoloVolante
VeicoloAMotore
Elicottero
Aereo
…
VeicoloSenzaMotore
Aliante
…
VeicoloNatante
VeicoloAMotore
Motoscafo
Nave
…
VeicoloSenzaMotore
BarcaARemi
Da questa struttura riusciamo a capire meglio che la classe Automobile deriva dalla classe VeicoloAMotore che, a sua volta, deriva da VeicoloStradale. Risalendo ancora di livello, le classi citate derivano dalla classe generica Veicolo.
Un altro particolare interessante è dato dal fatto che esistono più classi di nome VeicoloAMotore.
Tuttavia, tali classi sono inserite in rami della gerarchia differenti, quindi non interferiscono tra loro. Naturalmente, sarà necessario fare riferimento alla corretta classe VeicoloAMotore, indicando anche il riferimento al “padre”, cioè alla classe da cui deriva la specifica classe VeicoloAMotore: in questo modo diventerà evidente il fatto che con VeicoloStradale.VeicoloAMotore e con VeicoloNatante.VeicoloAMotore ci si riferisce a due ben distinte classi. Non si potrà fare riferimento alla classe VeicoloAMotore senza specificare il padre, altrimenti ci si troverà in presenza di un’ambiguità.
Con questo ultimo paragrafo abbiamo introdotto anche la notazione del punto (.). Il punto tra due elementi (due classi o una classe e il suo metodo o attributo) significa semplicemente che l’elemento posto a destra del punto appartiene all’elemento posto a sinistra.
Possiamo spiegare il concetto di classe derivata anche in un altro modo: le classi che si trovano in un livello più alto della gerarchia sono classi più generiche, mentre le classi dei livelli inferiori, che derivano dalle classi generiche, sono classi più specializzate, poiché aggiungono ulteriori specificazioni. Tali specificazioni sono costituite da un maggior numero di attributi e/o da un maggior numero di metodi.
Abbiamo già accennato che per “metodi” intendiamo delle unità di codice espresse nella forma di subroutine (Sub) o di funzioni (Function). Queste unità di codice definiscono le azioni (il comportamento) degli oggetti della stessa classe.
(…segue…)
Fonte: Cap. 1 – libro “Visual Basic 2010 spiegato a mia nonna”, Edizioni FAG Milano, Autore Mario De Ghetto, 2011,
http://bit.ly/NRO6Cn
.
Pubblicato il 29 luglio 2012, in Programmazione, VB2010SAMN, VS 2010 con tag VB, VB 2010, VB2010, VB2010SAMN, VS 2010. Aggiungi il permalink ai segnalibri. Lascia un commento.
Lascia un commento