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

Programmazione ad oggetti

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