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.

About these ads

Pubblicato il 29 luglio 2012, in Programmazione, VB2010SAMN, VS 2010 con tag , , , , . Aggiungi il permalink ai segnalibri. Lascia un commento.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 844 follower

%d blogger cliccano Mi Piace per questo: