Fondamenti di Informatica - Università degli studi di Parma
Fondamenti di Informatica - Università degli studi di Parma
Fondamenti di Informatica - Università degli studi di Parma
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