Programmazione ad oggetti

1,889 views

Published on

Presentazione sulla presentazione ad oggetti

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,889
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
78
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Programmazione ad oggetti

  1. 1. Programmazione ad oggetti
  2. 2. Caratteristiche dei Modelli ad Oggetti <ul><li>Possiamo sintetizzare il paradigma ad oggetti con le seguenti affermazioni: </li></ul><ul><li>Ogni cosa è un oggetto </li></ul><ul><li>Gli oggetti hanno delle proprietà (attributi) </li></ul><ul><li>Il valore assunto dagli attributi definisce lo stato dell’oggetto </li></ul><ul><li>Gli oggetti sanno eseguire delle azioni (metodi) </li></ul><ul><li>Tutti gli oggetti con le stesse proprietà fanno parte della stessa categoria(classe) </li></ul>
  3. 3. Risoluzione di problemi <ul><li>Metodologia ORIENTATA AGLI OGGETTI: Il problema da risolvere viene analizzato e modellato secondo un opportuno SISTEMA DI OGGETTI che comunicano tra loro scambiandosi messaggi. </li></ul>
  4. 4. CLASSI <ul><li>Una classe è un raggruppamento di oggetti con stesse proprietà e stessi metodi, dunque un insieme di oggetti dello stesso tipo. </li></ul><ul><li>Una classe specifica gli attributi, senza indicarne il valore, e i metodi che devono avere gli oggetti che appartengono alla classe </li></ul>
  5. 5. ISTANZE <ul><li>Un’ istanza è un particolare oggetto di una determinata classe </li></ul><ul><li>Due istanze della stessa classe sono distinguibili solo per il valore dei loro attributi, mentre il loro comportamento (metodi) è lo stesso </li></ul>
  6. 6. ATTRIBUTI <ul><ul><li>Gli attributi rappresentano quelle proprietà che descrivono le caratteristiche peculiari di un oggetto (ad esempio, per una persona: altezza e peso). </li></ul></ul><ul><li>Un oggetto per essere ben definito deve contenere le proprietà che servono e non tutte quelle che gli si potrebbero comunque attribuire . </li></ul>
  7. 7. METODI <ul><li>Un metodo rappresenta una azione che può essere compiuta da un oggetto. </li></ul><ul><li>Una delle domande principali da porsi quando si vuole creare un oggetto è: </li></ul><ul><li>Cosa si vuole che sia in grado di fare? </li></ul><ul><li>Da osservare: </li></ul><ul><ul><li>Un oggetto che abbia uno o due soli metodi deve fare riflettere . </li></ul></ul><ul><ul><li>Da evitare sono gli oggetti con nessun metodo </li></ul></ul><ul><ul><li>Da evitare sono anche gli oggetti con troppi metodi. </li></ul></ul>
  8. 8. INTERFACCIA <ul><li>Insieme di metodi che l’oggetto mette a disposizione dell’utilizzatore </li></ul><ul><li>Gli oggetti comunicano tra loro tramite le proprie interfacce </li></ul>
  9. 9. INTERFACCIA Automobile Persona Accelera Metti in moto Frena CambiaMarcia
  10. 10. INCAPSULAMENTO <ul><li>L'incapsulamento è la proprietà per cui un oggetto contiene (&quot;incapsula&quot;) al suo interno gli attributi (dati) e i metodi (procedure) che accedono ai dati stessi. </li></ul>
  11. 11. INFORMATION HIDING <ul><li>L'utilizzatore di un oggetto è tenuto a conoscere solo le informazioni strettamente necessarie relative all’oggetto stesso. Ogni altra informazione può confondere l'utente e/o mettere a rischio l'integrità dell'oggetto. </li></ul><ul><li>Lo scopo principale dell‘information hiding è appunto dare accesso ai dati solo attraverso i metodi definiti nell'interfaccia. </li></ul>
  12. 12. ESEMPIO: il televisore <ul><li>Possiamo accedere alle proprietà dell’oggetto televisore, come la luninosità, il contrasto, ecc. tramite appositi pulsanti che modificano il valore degli attributi e non agendo direttamente sulla struttura fisica del televisore </li></ul>
  13. 13. INFORMATION HIDING <ul><li>L'information hiding permette di vedere </li></ul><ul><li>l'oggetto come una black-box, cioè una </li></ul><ul><li>scatola nera di cui, attraverso l‘interfaccia, </li></ul><ul><li>sappiamo cosa fa e come interagisce con </li></ul><ul><li>l'esterno ma non come lo fa. </li></ul><ul><li>I vantaggi principali sono: </li></ul><ul><li>robustezza </li></ul><ul><li>indipendenza </li></ul><ul><li>riusabilità degli oggetti creati. </li></ul>
  14. 14. DIAGRAMMA DELLE CLASSI Diagramma delle classi <nome classe> <attributo1> <attributo2> … <metodo1> <metodo2> …
  15. 15. CLASSE AUTOMOBILE ACCESA MARCIAINSERITA VELOCITA’ LIVELLOCARBURANTE ACCENDI() SPEGNI() CAMBIAMARCIA() ACCELERA() FRENA() RIFORNISCI()
  16. 16. OGGETTO (ISTANZA) MIA_AUTO Istanza di AUTOMOBILE ACCESA  1 MARCIAINSERITA  3 VELOCITA  40 LIVELLOCARBURANTE  50
  17. 17. UTILIZZO DI UN OGGETTO <ul><li>L’interazione tra gli oggetti avviene con un meccanismo chiamato scambio di messaggi </li></ul><ul><li>Un oggetto, inviando un messaggio ad un altro oggetto, può richiedere l’esecuzione di un metodo </li></ul><ul><li>Un oggetto può interagire con un altro oggetto per diversi motivi: per modificarne lo stato, per richiedere un’informazione o per attivare un comportamento </li></ul>
  18. 18. STRUTTURA DI UN MESSAGGIO <ul><li>Un messaggio è costituito da 3 parti: </li></ul><ul><ul><li>un destinatario , cioè l’oggetto verso il quale il messaggio è indirizzato; </li></ul></ul><ul><ul><li>il metodo che si vuole attivare, che deve essere uno dei metodi messi a disposizione dall’oggetto destinatario; </li></ul></ul><ul><ul><li>l’insieme dei parametri che vengono passati all’oggetto quando si richiede l’attivazione del metodo </li></ul></ul>
  19. 19. INVIO DEI MESSAGGI <ul><li>NomeIstanza.NomeMessaggio(parametri) </li></ul><ul><li>Per esempio, per inviare all’oggetto Mia_Auto </li></ul><ul><li>di classe automobile il messaggio che richiede di aumentare la velocità si scrive: </li></ul><ul><li>Mia_Auto.accelera(v) </li></ul>

×