11.07.2014 Views

Fondamenti di Informatica - Università degli studi di Parma

Fondamenti di Informatica - Università degli studi di Parma

Fondamenti di Informatica - Università degli studi di Parma

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Gli oggetti come astrazione – 2<br />

Le istanze<br />

• Definita una classe, si possono creare un<br />

numero arbitrario <strong>di</strong> oggetti appartenenti alla<br />

classe<br />

• Inoltre nel modello rappresentiamo funzioni come frenare<br />

o cambiare marcia, che mo<strong>di</strong>ficano le variabili d’istanza<br />

• Si chiamano meto<strong>di</strong> d’istanza perché hanno accesso alle<br />

variabili d’istanza e le mo<strong>di</strong>ficano<br />

FI - Algoritmi e Programmazione 91<br />

FI - Algoritmi e Programmazione 92<br />

Incapsulamento dei dati<br />

• Nascondere le informazioni fornendo un’interfaccia<br />

• Netta <strong>di</strong>visione fra interfaccia e implementazione<br />

• Le variabili <strong>di</strong> un oggetto, che ne rappresentano lo<br />

stato, sono nascoste all’interno dell’oggetto,<br />

accessibili solo ai meto<strong>di</strong><br />

• Idealmente i meto<strong>di</strong> proteggono le variabili<br />

• Diversi livelli <strong>di</strong> accesso a meto<strong>di</strong> e variabili<br />

q Private: accessibili solo alla classe<br />

q Public: accessibili a chiunque e quin<strong>di</strong> anche alle<br />

sottoclassi<br />

• Consente modularità e flessibilità nel co<strong>di</strong>ce,<br />

impedendo errori nel manipolare gli oggetti e<br />

semplifica la gestione <strong>di</strong> sistemi complessi<br />

I messaggi<br />

• Gli oggetti interagiscono tra loro per ottenere<br />

funzioni più complesse<br />

q La bicicletta appesa in garage è un oggetto e<br />

basta, ci vuole un ciclista che interagisca con lei<br />

perché sia interessante<br />

• Gli oggetti sw per interagire si mandano<br />

messaggi<br />

q Chiedendo <strong>di</strong> eseguire<br />

un certo metodo<br />

(procedura)<br />

FI - Algoritmi e Programmazione 93<br />

FI - Algoritmi e Programmazione 94<br />

I messaggi – 2<br />

• Spesso i meto<strong>di</strong> necessitano <strong>di</strong> informazioni<br />

per poter essere eseguiti: i parametri<br />

• Tre componenti:<br />

q L’oggetto a cui il messaggio è rivolto<br />

q Il metodo da eseguire per ottenere un certo<br />

effetto<br />

q I parametri ,<br />

se necessari al<br />

metodo<br />

FI - Algoritmi e Programmazione 95<br />

I messaggi – 3<br />

• Un oggetto può essere visto come un insieme <strong>di</strong> servizi<br />

che possiamo chiedere <strong>di</strong> eseguire<br />

• I servizi sono definiti dai meto<strong>di</strong><br />

• Il comportamento <strong>degli</strong> oggetti è definito dai suoi meto<strong>di</strong><br />

e il meccanismo <strong>di</strong> invio dei messaggi consente<br />

l’interazione tra gli oggetti<br />

• Ogni oggetto ha in se tutto ciò che gli serve per<br />

rispondere alle chiamate<br />

• Gli oggetti che si scambiano i messaggi possono<br />

anche essere ‘<strong>di</strong>stanti’ tra loro<br />

q Su macchine <strong>di</strong>verse<br />

q Non appartenenti allo stesso modello<br />

FI - Algoritmi e Programmazione 96

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!