OBJECT ORIENTED DATABASE introduzione. OGGETTO Ha due componenti:  stato: valore di alcune variabili (variabili di istanza)  comportamento: insieme.

Slides:



Advertisements
Presentazioni simili
Il paradigma Object Oriented
Advertisements

Programmazione ad oggetti
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
Estendere i linguaggi: i tipi di dato astratti
2/11/2004Laboratorio di Programmazione - Luca Tesei1 Punto della situazione Da dove veniamo, dove andiamo.
Programmazione object oriented in C++
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
1 Semantica Operazionale di un frammento di Java: lo stato.
29 febbraio 2008 Progettare tipi di dato astratti.
Le gerarchie di tipi.
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Allocazione dinamica della memoria
eliana minicozzi linguaggi1a.a lezione2
Overriding.
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Approfondimento delle classi
1 Le gerarchie di tipi. 2 Supertipi e sottotipi 4 un supertipo –class –interface 4 può avere più sottotipi –un sottotipo extends il supertipo ( class.
Subtype Polymorphism. Interfacce e subtype polimorfismo Tipi, sottotipi e conversioni di tipo Polimorfismo e dinamic dispatch.
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Progettazione di una base di dati
Java base IV: Java e la programmazione O.O.
OGGETTI COMPOSTI Una classe può contenere riferimenti a altre classi (o anche a se stessa): public class Orologio { Counter ore, minuti; } Loggetto Orologio.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
Introduzione alla programmazione Object Oriented
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Introduzione a Oracle 9i
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
I nomi in Java F. Bombi 18 novembre novembre 2003.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
ODMG. L’ODMG L’Object Data Management Group è un consorzio di produttori di ODBMS che ha proposto uno standard per: il modello a oggetti il linguaggio.
Lezione 1 Panoramica sui paradigmi di programmazione
1 novembre I nomi in Java F. Bombi 1 novembre 2002.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
1 Osservazioni Generali Struttura di programma Gerarchia di classi: overloading, overriding, e dispatching Analisi ed esecuzione Modificabilità e condivisione.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Ese 1 (del 31 Marzo 2004). Il compilatore Non esegue il programma, non guarda i valori che possono assumere di volta in volta le variabili, non fa assunzioni.
Programmazione in Java. Classi I programmi in Java consistono di classi. Le classi consentono di definire: collezioni di procedure (metodi statici) tipi.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Cose nuove di Java (prima a chiacchiera, poi formalmente)
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
1 Semantica Operazionale di un frammento di Java: intro estensione (con piccole varianti) di quella di FP | v |
La Programmazione ad Oggetti
ADT 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 24 Introduzione ai.
1 Tipi di dato modificabili §a livello semantico, riconduciamo la modificabilità alla nozione di variabile l lo stato “modificabile” corrispondente sarà.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Introduzione alle Classi e agli Oggetti in Java 1.
OBJECT ORIENTED DATABASE
Transcript della presentazione:

OBJECT ORIENTED DATABASE introduzione

OGGETTO Ha due componenti:  stato: valore di alcune variabili (variabili di istanza)  comportamento: insieme delle operazioni mediante le quali è possibile operare sull’oggetto

ODBMS vs OOPL  oggetti persistenti continuano ad esistere (su memoria di massa) anche dopo la terminazione del programma che li ha creati e possono essere condivisi da più programmi  non completo incapsulamento degli oggetti le variabili di istanza sono visibili per consentire interrogazioni estemporanee

ODBMS vs DBMS RELAZIONALI  Corrispondenza 1:1 tra oggetti reali e oggetti memorizzati: ad ogni oggetto è assegnato dal sistema un OID (object identifier) immutabile non riutilizzabile non visibile all’utente utilizzato dal sistema per creare e gestire associazioni tra oggetti

ODBMS vs DBMS RELAZIONALI  Un oggetto può avere una struttura di complessità arbitraria

STATO DI UN OGGETTO Lo stato (valore) di un oggetto complesso è costruito a partire da altri oggetti/valori mediante costruttori di tipo (che possono essere annidati in modo arbitrario): CostruttoreStato dell’oggetto atomico un valore nel dominio base supportato dal sistema (intero, reale, ecc.) tupla (coppie: attributo:oid) insieme {i 1,…,i n } multi insieme {i 1,…,i n }, ma ci possono essere ripetizioni lista (i 1,…,i n ), c’è un ordinamento array (i 1,…,i n ), ma c’è un limite al numero di elementi

COMPORTAMENTO DI UN OGGETTO Il comportamento di un oggetto è definito dall’insieme di operazioni (creazione,distruzione,modifica,ricerca e altro) che possono essere applicate all’oggetto. Un’operazione è costituita da: segnatura (o interfaccia) nome e argomenti, visibile all’utente metodo implementazione, non visibile all’utente

Vantaggi derivanti dall’incapsulamento Possibilità di modificare sia la struttura interna di un oggetto sia l’implementazione della sue operazioni senza dover modificare i programmi che invocano tali operazioni (indipendenza dei dati e delle operazioni)

SPECIFICA DELLA PERSISTENZA Ci sono due meccanismi per rendere persistente un ogetto: denominazione attribuire un nome unico persistente raggiungibilità rendere l’oggetto raggiungibile da oggetti persistenti

TIPO DI UN OGGETTO E’ definito da: struttura (mediante costruttori di tipo si definisce l’insieme degli stati ammissibili per un oggetto) operazioni (mediante la segnatura) E’ identificato da un nome

ESTENSIONI La dichiarazione di una relazione in un DBMS relazionale definisce sia un tipo (schema della relazione) che un contenitore (l’istanza della relazione) di oggetti (tuple) di quel tipo. In un OODBMS occorre dichiarare esplicitamente un oggetto (estensione) il cui tipo è una collezione di oggetti dello stesso tipo.

GERARCHIE DI TIPI Un tipo può essere definito come sottotipo di un altro tipo (supertipo). Il sottotipo eredita struttura e operazioni del supertipo. Inoltre può avere ulteriori variabili di istanza e operazioni.

POLIMORFISMO Un’ operazione può avere diverse implementazioni per diversi sottotipi di uno stesso tipo. La scelta dell’implementazione può essere fatta: a tempo di compilazione (binding statico) a tempo di esecuzione (binding dinamico)