Programmazione orientata agli oggetti

Da aptiva.
Versione delle 22:22, 4 mag 2015, autore: Simone.riccucci (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Indice

Introduzione

Il paradigma dell'Object Oriented Programming nasce dalla necessità di modellare in maniera più naturale problemi reali.

Esso si pone come una estensione della programmazione imperativa dove viene aggiunto un nuovo costrutto, la Classe, che può contenere sia i dati, che lo stato, che la descrizione del suo comportamento.

Nel mondo reale esistono un'infinità di situazioni che possono essere ricondotte ad una modellazione ad oggetti: si pensi ad un'automobile. L'automobile è un oggetto che ha caratteristiche proprie come ad esempio il colore, la marca, la potenza, etc... ha una serie di dati che ne determina lo stato come ad esempio accesa/spenta, velocità, accelerazione, direzione di marcia, coordinate GPS che ne determinano la posizione, etc.. e ha dei comportamenti come avviare il motore, accelerare, frenare, sterzare a destra o sinistra, etc... che ne determinano il cambio di stato.

La realtà è composta da vari oggetti e tutti questi oggetti interagiscono tra di loro "scambiandosi dei messaggi". Per tornare all'esempio dell'automobile si potrebbe definire anche l'oggetto pilota che interagisce con l'automobile girando il volante o schiacciando il piede sull'acceleratore. Tutte queste interazioni danno luogo appunto a scambio di messaggi in questo caso da un oggetto pilota ad un oggetto automobile (gira a sinistra, accelera, etc...)

Nel percorso che verrà costruito, ci avvarremo di uno strumento poco usuale per lo sviluppo di una unità didattica per le scuole superiori chiamato Alice. Alice è un ambiente di programmazione 3D che rende molto facile ed intuitivo la creazione di animazioni e giochi interattivi e permette anche di creare video da pubblicare su Youtube. Il concetto principale all'interno di Alice è appunto l'Oggetto. All'interno del mondo virtuale che si può creare con Alice, esso stesso un oggetto, si possono inserire personaggi, animali, piante, rocce, etc... tutti modellati attraverso il paradigma degli oggetti. La versione 3 del software permette anche di fare un interessante parallelo tra il programma creando usando gli strumenti visuali e il corrispettivo codice Java ed infine permette anche di esportare il progetto per poterlo manipolare nell'IDE NetBeans. Alice consente una introduzione soft al mondo degli oggetti in maniera molto intuitiva incorporando in maniera molto efficace il concetto di incapsulamento. Questo software è adatto per arrivare fino ad un certo punto perché non implementa né il concetto di ereditarietà, se non per la gerarchia già definita dei suoi oggetti che si può comunque visionare per avere un'idea di cosa significhi, né il concetto di polimorfismo. Per questi due aspetti si può pensare ad un'unità didattica successiva per fare una transizione da Alice a Java e introdurre questi altri due concetti fondamentali della programmazione ad oggetti.

Descrizione dell'ambiente Alice

Gli oggetti in Alice

Nel mondo di Alice tutto è oggetto

Inserire un oggetto in Alice

Proprietà e metodi degli oggetti

Parallelo con ADT e information Hiding

Interazioni tra gli oggetti

Esempio di animazione

Struttura della gerarchia degli oggetti in Alice: cenni all'ereditarietà

Da Alice a Java

Studio degli esempi tramite la struttura del codice generato da Alice

Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Strumenti