La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

(c) TECNET DATI - Il paradigma Object Oriented Pag. 1 Il paradigma Object Oriented.

Presentazioni simili


Presentazione sul tema: "(c) TECNET DATI - Il paradigma Object Oriented Pag. 1 Il paradigma Object Oriented."— Transcript della presentazione:

1 (c) TECNET DATI - Il paradigma Object Oriented Pag. 1 Il paradigma Object Oriented

2 (c) TECNET DATI - Il paradigma Object Oriented Pag. 2 gli oggetti un oggetto è un elemento o concetto del mondo reale che può essere identificato in modo univoco: un cliente, un articolo, un impiegato … ogni oggetto è costituito dallinsieme dei suoi dati caratteristici e delle funzioni che operano su di essi per fornire determinati servizi al resto del sistema ciascun oggetto è descritto attraverso: –attributi, che ne definiscono le caratteristiche –metodi (funzioni), che ne descrivono i comportamenti

3 (c) TECNET DATI - Il paradigma Object Oriented Pag. 3 VERDI ANNA …. 01/05/92 gli oggetti e le classi IMPIEGATO Attributi COGNOME NOME …. DATA DI ASSUNZIONE Metodi …. ASSUMI EMETTI STIPENDIO ROSSI MARIO …. 11/11/81 Rossi Mario e Verdi Anna sono oggetti (istanze) della classe IMPIEGATO ASSUMI EMETTI STIMENDIO

4 (c) TECNET DATI - Il paradigma Object Oriented Pag. 4 gli oggetti e le classi tutti gli oggetti che condividono le stesse proprietà (attributi) e gli stessi comportamenti (metodi) possono essere raccolti in classi i metodi sono comuni per tutti gli oggetti della classe anche il formato dei dati è comune per tutti gli oggetti di una classe, mentre il contenuto può differire per ogni oggetto la classe è responsabile di creare nuovi oggetti (nuove istanze), tutti uguali, ma dotati ciascuno di una propria individualità

5 (c) TECNET DATI - Il paradigma Object Oriented Pag. 5 incapsulazione metodi e dati sono incapsulati nelloggetto; dallesterno né metodi né dati sono direttamente accessibili i dati (attributi) di un oggetto possono essere manipolati solo attivando i suoi metodi un metodo è attivato dalloggetto a fronte di una specifica richiesta di servizio (messaggio) solo linterfaccia pubblica delloggetto, costituita dai messaggi che ad esso si possono inviare (servizi che loggetto può offrire), è nota allesterno si comunica con un oggetto inviandogli un messaggio in cui si specifica che cosa si vuole da esso

6 (c) TECNET DATI - Il paradigma Object Oriented Pag. 6 effetti dellincapsulazione Ogni classe di oggetti è definita in due modi, uno esterno (pubblico) ed uno interno (privato) Livello esterno o interfaccia pubblica specifica i messaggi (e gli argomenti ad essi associati) che possono essere inviati agli oggetti della classe Livello interno o privato definisce le proprietà delloggetto (i dati) e le modalità di trattamento di questi dati (i metodi)

7 (c) TECNET DATI - Il paradigma Object Oriented Pag. 7 effetti dellincapsulazione linterfaccia pubblica specifica i servizi che loggetto può fornire rappresenta ciò che loggetto sa fare nello scenario applicativo, le sue responsabilità Lincapsulazione soddisfa le seguenti esigenze: la necessità di distinguere nettamente tra specifica e implementazione di un servizio (operazione) il bisogno di modularità

8 (c) TECNET DATI - Il paradigma Object Oriented Pag. 8 information hiding gli oggetti nascondono la loro struttura allambiente circostante per usare un oggetto non è necessario conoscere la sua struttura interna, è sufficiente conoscere le operazioni che esso offre Vantaggi dell infomation hiding: semplicità duso effetti benefici sulla manutenzione del software: è possibile apportare variazioni alloggetto in modo trasparente per le applicazioni che lo usano

9 (c) TECNET DATI - Il paradigma Object Oriented Pag. 9 i messaggi i messaggi sono i meccanismi di comunicazione tra gli oggetti il messaggio è lo stimolo a svolgere unazione la ricezione di un messaggio da parte di un oggetto causa in questo lesecuzione di unoperazione struttura del messaggio id oggetto nome-metodo (arg1, arg2, …) Mioconto preleva (100 lire)

10 (c) TECNET DATI - Il paradigma Object Oriented Pag. 10 i metodi UML distingue tra operazione e metodo: loperazione è la specifica di un servizio offerto dalla classe il metodo ne è limplementazione Fanno parte della specifica il messaggio e gli argomenti ad esso associati Il metodo consiste di un blocco di istruzioni in grado di: –fornire i dati delloggetto –variare i dati delloggetto –eseguire altre operazioni relative alloggetto

11 (c) TECNET DATI - Il paradigma Object Oriented Pag. 11 i metodi quando un messaggio è inviato ad un oggetto, esso fa ciò che deve con i suoi dati interni e restituisce una risposta è responsabilità delloggetto ricevente conoscere e scegliere le funzioni opportune da applicare ai dati lorientamento a oggetti sposta la responsabilità sui dati e le funzioni dal consumatore (client) al fornitore (server)

12 (c) TECNET DATI - Il paradigma Object Oriented Pag. 12 ereditarietà (specializzazione) permette ad una classe detta sottoclasse di essere definita a partire da unaltra classe detta superclasse tra le classi Persona e Impiegato esiste una relazione IS-A o gerarchia di specializzazione-generalizzazione la sottoclasse eredita gli attributi, le operazioni (e quindi anche i messaggi) della sua superclasse ogni sottoclasse può arricchire leredità ricevuta con un corredo proprio di attributi e operazioni lereditarietà promuove il riuso PERSONA Attributi NOME INDIRIZZO DATA DI NASCITA Metodi …. VARIA INDIRIZZO …. IMPIEGATO Attributi DATA DI ASSUNZIONE …. Metodi ASSUMI EMETTI STIPENDIO ….

13 (c) TECNET DATI - Il paradigma Object Oriented Pag. 13 ereditarietà multipla quando una classe eredita da più superlassi si parla di ereditarietà multipla nellesempio MEZZO ANFIBIO eredita sia da VEICOLO DI TERRA che da VEICOLO DACQUA non tutti i linguaggi di programmazione OO prevedono questa possibilità ma… come vengono risolti i conflitti quando nelle superclassi esiste un attributo (o unoperazione) con lo stesso nome, ma significati diversi?... Quale sarà ereditato nella sottoclasse? VEICOLO MEZZO ANFIBIO CAMIONBARCA VEICOLO DI TERRA VEICOLO DACQUA

14 (c) TECNET DATI - Il paradigma Object Oriented Pag. 14 specializzazione esaustiva nellesempio la specializzazione è esaustiva o totale la classe PERSONA è una classe astratta, non istanziabile è una classe vuota: non esistono oggetti PERSONA, ma solo oggetti PERSONA FISICA o PERSONA GIURIDICA le classi astratte servono a raccogliere attributi e operazioni comuni a più sottoclassi le classi PERSONA FISICA o PERSONA GIURIDICA sono classi concrete PERSONA FISICA PERSONA GIURIDICA

15 (c) TECNET DATI - Il paradigma Object Oriented Pag. 15 specializzazione non esaustiva nellesempio la specializzazione è non esaustiva o parziale la classe PERSONA è una classe concreta, istanziabile esistono oggetti PERSONA, che non sono né OPERAIO né IMPIEGATO PERSONA OPERAIOIMPIEGATO

16 (c) TECNET DATI - Il paradigma Object Oriented Pag. 16 overriding consente di ridefinire qualche comportamento (operazione) o qualche informazione ereditati nellesempio loperazione calcola area è ridefinita nella sola sottoclasse TRIANGOLO nella superclasse POLIGONO loperazione è implementata con il seguente algoritmo: perimetro * apotema / 2 nella sottoclasse TRIANGOLO loperazione è implementata con un altro algoritmo: base * altezza / 2 POLIGONO Metodi …. CALCOLA AREA …. TRIANGOLO Metodi …. CALCOLA AREA …. ESAGONO Metodi ….

17 (c) TECNET DATI - Il paradigma Object Oriented Pag. 17 polimorfismo significa letteralmente: capacità di assumere forme diverse TRIANGOLO e ESAGONO appartengono alla stessa superclasse, entrambe le sottoclassi sanno rispondere al messaggio calcola area, ma lo fanno con un comportamento diverso (il metodo è diverso!) polimorfismo sta a indicare la capacità di un oggetto di attivare metodi diversi, a seconda della propria classe, alla ricezione del medesimo messaggio POLIGONO Metodi …. CALCOLA AREA …. TRIANGOLO Metodi …. CALCOLA AREA …. ESAGONO Metodi ….

18 (c) TECNET DATI - Il paradigma Object Oriented Pag. 18 aggregazione è il meccanismo per la costruzione di oggetti complessi aggregando oggetti componenti più semplici esprime la relazione is-part-of tra una Parte e il Tutto un oggetto aggregato –si presenta come un Tuttuno –può essere usato senza doverne conoscere la composizione interna (principio di incapsulazione) ORDINE RIGA ORDINE

19 (c) TECNET DATI - Il paradigma Object Oriented Pag. 19 classe e tipo una classe rappresenta linsieme degli oggetti che condividono la stessa struttura interna (dati e metodi) è il modello di fabbricazione per più oggetti è un meccanismo orientato al riuso un tipo rappresenta la specifica dellinterfaccia di un insieme di oggetti, descrive come questi oggetti possono essere usati è un meccanismo orientato allusabilità Classe e tipo sono due modi diversi di guardare agli oggetti: loggetto è un tipo per lutilizzatore una classe per il progettista

20 (c) TECNET DATI - Il paradigma Object Oriented Pag. 20 benefici dellOO Riusabilità gli oggetti delle classi possono essere riutilizzati in contesti diversi, attivandoli con gli opportuni messaggi se loggetto non presenta tutte le funzioni richieste, si può specializzare sfruttando il meccanismo dellereditarietà Robustezza del SW e manutenzione più semplice è nota la responsabilità di ciascun oggetto nello scenario applicativo: è sempre possibile identificare la componente che ha comportamenti anomali le modifiche al software sono localizzate: normalmente si deve modificare un metodo alla volta è possibile apportare variazioni alloggetto in modo trasparente per le applicazioni che lo usano (quando le modifiche non hanno impatto sullinterfaccia pubblica)

21 (c) TECNET DATI - Il paradigma Object Oriented Pag. 21 benefici dellOO Integrità dei dati i dati possono essere manipolati solo da specifici metodi, che devono garantire il rispetto delle regole di business Controllo della complessità ereditarietà e aggregazione sono criteri di astrazione che consentono di scomporre il sistema in componenti elementari, facilitando la comprensione del problema e il dominio della complessità Interoperabilità il meccanismo dei messaggi permette la comunicazione e la collaborazione di componenti realizzate su piattaforme diverse ….


Scaricare ppt "(c) TECNET DATI - Il paradigma Object Oriented Pag. 1 Il paradigma Object Oriented."

Presentazioni simili


Annunci Google