ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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)

More Related Content

What's hot (20)

[OOP - Lec 19] Static Member Functions
[OOP - Lec 19] Static Member Functions[OOP - Lec 19] Static Member Functions
[OOP - Lec 19] Static Member Functions
Muhammad Hammad Waseem
Ìý
Constructor and destructor in oop
Constructor and destructor in oop Constructor and destructor in oop
Constructor and destructor in oop
Samad Qazi
Ìý
friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)
Ritika Sharma
Ìý
Excepciones en javaExcepciones en java
Excepciones en java
jent46
Ìý
Generic Programming
Generic ProgrammingGeneric Programming
Generic Programming
Muhammad Alhalaby
Ìý
Wrapper class
Wrapper classWrapper class
Wrapper class
kamal kotecha
Ìý
JavaScript Objects
JavaScript ObjectsJavaScript Objects
JavaScript Objects
Hazem Hagrass
Ìý
Structures in c++
Structures in c++Structures in c++
Structures in c++
Swarup Kumar Boro
Ìý
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
Daniel Gomez Jaramillo
Ìý
C# Constructors
C# ConstructorsC# Constructors
C# Constructors
Prem Kumar Badri
Ìý
Constructor in Java - ITVoyagers
Constructor in Java - ITVoyagersConstructor in Java - ITVoyagers
Constructor in Java - ITVoyagers
ITVoyagers
Ìý
Java calendar
Java calendarJava calendar
Java calendar
Yallappa Gadadi
Ìý
Byte stream classes.49
Byte stream classes.49Byte stream classes.49
Byte stream classes.49
myrajendra
Ìý
Cheat Sheet java
Cheat Sheet javaCheat Sheet java
Cheat Sheet java
arkslideshareacc
Ìý
08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt
Tareq Hasan
Ìý
JavaScript - Chapter 8 - Objects
 JavaScript - Chapter 8 - Objects JavaScript - Chapter 8 - Objects
JavaScript - Chapter 8 - Objects
WebStackAcademy
Ìý
Exception handling and templates
Exception handling and templatesException handling and templates
Exception handling and templates
farhan amjad
Ìý
Functions in c
Functions in cFunctions in c
Functions in c
sunila tharagaturi
Ìý
XML
XMLXML
XML
Daminda Herath
Ìý
Constructor in java
Constructor in javaConstructor in java
Constructor in java
SIVASHANKARIRAJAN
Ìý
[OOP - Lec 19] Static Member Functions
[OOP - Lec 19] Static Member Functions[OOP - Lec 19] Static Member Functions
[OOP - Lec 19] Static Member Functions
Muhammad Hammad Waseem
Ìý
Constructor and destructor in oop
Constructor and destructor in oop Constructor and destructor in oop
Constructor and destructor in oop
Samad Qazi
Ìý
friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)
Ritika Sharma
Ìý
Excepciones en javaExcepciones en java
Excepciones en java
jent46
Ìý
JavaScript Objects
JavaScript ObjectsJavaScript Objects
JavaScript Objects
Hazem Hagrass
Ìý
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
Daniel Gomez Jaramillo
Ìý
Constructor in Java - ITVoyagers
Constructor in Java - ITVoyagersConstructor in Java - ITVoyagers
Constructor in Java - ITVoyagers
ITVoyagers
Ìý
Byte stream classes.49
Byte stream classes.49Byte stream classes.49
Byte stream classes.49
myrajendra
Ìý
08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt
Tareq Hasan
Ìý
JavaScript - Chapter 8 - Objects
 JavaScript - Chapter 8 - Objects JavaScript - Chapter 8 - Objects
JavaScript - Chapter 8 - Objects
WebStackAcademy
Ìý
Exception handling and templates
Exception handling and templatesException handling and templates
Exception handling and templates
farhan amjad
Ìý

Similar to Programmazione ad oggetti (8)

Programmaoggetti[1]
Programmaoggetti[1]Programmaoggetti[1]
Programmaoggetti[1]
Anna_1969
Ìý
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
Giovanni Carbonara
Ìý
Object oriented
Object orientedObject oriented
Object oriented
KingRace97
Ìý
Pensiero Orientato Agli Oggetti
Pensiero Orientato Agli OggettiPensiero Orientato Agli Oggetti
Pensiero Orientato Agli Oggetti
Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA
Ìý
Object Oriented with Java Programmazione Base
Object Oriented with Java Programmazione BaseObject Oriented with Java Programmazione Base
Object Oriented with Java Programmazione Base
Felice Pescatore
Ìý
Presentazione principi oop
Presentazione principi oopPresentazione principi oop
Presentazione principi oop
gcorreddu
Ìý

Programmazione ad oggetti

  • 2. 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)
  • 3. 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.
  • 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 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.
  • 8. INTERFACCIA Insieme di metodi che l’oggetto mette a disposizione dell’utilizzatore Gli oggetti comunicano tra loro tramite le proprie interfacce
  • 9. INTERFACCIA Automobile Persona Accelera 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'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.
  • 12. 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
  • 13. 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.
  • 14. DIAGRAMMA DELLE CLASSI Diagramma delle classi <nome classe> <attributo1> <attributo2> … <metodo1> <metodo2> …
  • 15. CLASSE AUTOMOBILE ACCESA MARCIAINSERITA VELOCITA’ LIVELLOCARBURANTE ACCENDI() SPEGNI() CAMBIAMARCIA() ACCELERA() FRENA() RIFORNISCI()
  • 16. OGGETTO (ISTANZA) MIA_AUTO Istanza di AUTOMOBILE ACCESA  1 MARCIAINSERITA  3 VELOCITA  40 LIVELLOCARBURANTE  50
  • 17. 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
  • 18. 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
  • 19. 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)