Modulo 4: Ereditarietà, interfacce e clonazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modulo 4: Ereditarietà, interfacce e clonazione"

Transcript

1 Modulo 4: Ereditarietà, interfacce e clonazione

2 Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo Evitare l'ereditarietà Il Casting

3 Modulo 3: Ereditarietà, interfacce e clonazione Classi, Superclassi e Sottoclassi

4 L'ereditarietà L'idea che sta alla base del concetto di ereditarietà è che è possibile creare nuove classi a partire da classi esistenti. Quando si eredita da una classe, si riutilizzano (ereditano) i suoi metodi e campi ed è possibile aggiungerne dei nuovi.

5 L'ereditarietà ESEMPIO: Consideriamo una classe Impiegato che rappresenta tutti i tipi di lavoratori di un'azienda. Vogliamo modellare anche una classe Manager che, continua ad essere un impiegato, ma ha delle caratteristiche in più: hanno uno stipendio come un impiegato generico ma ottengono dei bonus quando raggiungono i risultati previsti. Possiamo quindi creare una classe Manager che estende la classe Impiegato, ereditandone le caratteristiche e aggiungendogliene altre.

6 L'ereditarietà SINTASSI: Per indicare che una classe ne estende un'altra si utilizza la parola chiave extends public class Figlio extends Genitore

7 L'ereditarietà ESEMPIO: Considerando l'esempio della Manager che estende la classe Impiegato: public class Manager extends Impiegato

8 L'ereditarietà La parola extends indica che si definisce una nuova classe che deriva da una classe esistente. La classe esistente prende il nome di superclasse, mentre la nuova classe quello di sottoclasse. Attenzione: con il termine superclasse non si intende che la classe è superiore ed ha funzionalità in più; ma solo che è superiore nella gerarchia ed anzi ha funzionalità in meno, in quanto i suoi figli ereditano le sue caratteristiche e ne aggiungono altre.

9 L'ereditarietà: gli attributi privati Ricordiamo che le sottoclassi NON EREDITANO gli attributi ed i metodi definiti private. Se si vuole far ereditare qualcosa, va dichiarata public o protected. ATTENZIONE: va fatta chiarezza sul concetto di non ereditano, con esso si intende che la classe Figlia continua a possedere eventuali attributi privati ereditati dal Padre, ma i suoi metodi interni non possono accedere a tali campi.

10 L'ereditarietà: gli attributi privati Chiariamo questo concetto ritornando all'esempio di Impiegato e Manager. Consideriamo per il momento che l'impiegato ha solo due attributi privati (nome, cognome) con i relativi getter e setter pubblici. Consideriamo poi la classe Manager che per il momento estende la classe impiegato ma non aggiunge nulla.

11 L'ereditarietà: gli attributi privati Classe Impiegato: public class Impiegato private String nome; private String cognome; public setnome(string n) nome=n; Classe Manager: public class Manager extends Impiegato //per il momento non aggiunge niente public String getnome( ) return nome; //idem per cognome I METODI DELLA CLASSE IMPIEGATO NON POTRANNO ACCEDERE AGLI ATTRIBUTI nome E cognome, MA DI FATTO UN OGGETTO IMPIEGATO LI POSSIEDE E POTRÒ PER ESEMPIO CHIAMARE I getter E setter PER UTILIZZARLI

12 L'ereditarietà: gli attributi privati Utilizzo un oggetto di tipo Manager: Manager m = new Manager ( ); m.setnome( ciccio ); String n = m.getnome( ); L'OGGETTO DI TIPO MANAGER CONTINUA A POSSEDERE GLI ATTRIBUTI nome E cognome ANCHE SE ERANO DICHIARATI privati ALL'INTERNO DELLA CLASSE IMPIEGATO.

13 L'ereditarietà: gli attributi privati Metodi della classe Manager (VERSIONE ERRATA): public class Manager extends Impiegato public String iniziali( ) String i_n = nome.substring(0,1); String i_c = cognome.substring(0,1); String i = i_n +. + i_c +. ; return i; ERRORE: I METODI DELLA CLASSE MANAGER NON POSSONO ACCEDERE AGLI ATTRIBUTI PRIVATI nome E cognome DELLA CLASSE IMPIEGATO, NONOSTANTE DI FATTO UN OGGETTO DI TIPO MANAGER AL SUO INTERNO POSSIEDE TALI ATTRIBUTI (nel nostro esempio accessibili tramite i getter e setter pubblici ereditati)

14 L'ereditarietà: gli attributi privati Metodi della classe Manager (VERSIONE CORRETTA): public class Manager extends Impiegato public String iniziali( ) String i_n = getnome( ).substring(0,1); String i_c = getcognome( ).substring(0,1); String i = i_n +. + i_c +. ; return i; I METODI LA CLASSE Manager NON POSSONO ACCEDERE AGLI ATTRIBUTI nome E cognome PERCHÈ SONO PRIVATI. UN OGGETTO DI TIPO Manager PERÒ POSSIEDE TALI ATTRIBUTI INFATTI POSSO ACCEDERVI TRAMITE I getter

15 L'ereditarietà: Override Può capitare che alcuni metodi pubblici della superclasse non sono adatti alla sottoclasse ed è quindi necessario riscriverli. In tal caso si parla di override, ovvero nella classe figlio scrivo un metodo con la stessa signature (nome, numero e tipo di parametri) ma che fa cose diverse.

16 L'ereditarietà: Override Ritornando all'esempio possiamo pensare che la classe Impiegato ha un metodo ha un attributo privato salario ed i relativi metodi pubblici getsalario( ) e setsalario ( ) Voglio che la classe Manager faccia l'override del metodo getsalario ( ) scrivendo un metodo che non ritorna semplicemente l'attributo salario ma il salario + bonus.

17 L'ereditarietà: Override Classe Impiegato: public class Impiegato private int salario; public int getsalario( ) return salario; Classe Manager: public class Manager extends Impiegato private int bonus; public int getsalario( ) int r = salario + bonus; return r; DEFINISCO UN NUOVO METODO getsalario CHE NEGLI OGGETTI DI TIPO MANAGER SOVRASCRIVE QUELLO DI IMPIEGATO.

18 L'ereditarietà: Override Classe Impiegato: public class Impiegato private int salario; public int getsalario( ) return salario; Classe Manager: public class Manager extends Impiegato private int bonus; public int getsalario( ) int r = salario + bonus; return r; ATTENZIONE: C'È UN ERRORE! COME DETTO PRECEDENTEMENTE, I METODI DI MANAGER NON POSSONO ACCEDERE AGLI ATTRIBUTI PRIVATI DI IMPEGATO!

19 L'ereditarietà: Override Classe Impiegato: public class Impiegato private int salario; public int getsalario( ) return salario; Classe Manager: public class Manager extends Impiegato private int bonus; public int getsalario( ) int r = getsalario( ) + bonus; return r; ATTENZIONE: È ANCORE ERRORE! IN QUESTO MODO CHIAMEREI IL NUOVO METODO getsalario( ) CHE STO DEFINENDO ORA NELLA CLASSE MANAGER ENTRANDO IN CICLO INFINITO

20 L'ereditarietà: parola chiave super Classe Manager: public class Manager extends Impiegato private int bonus; public int getsalario( ) int r = super.getsalario( ) + bonus; return r; INTRODUCO LA PAROLA CHIAVE super CHE MI PERMETTE DI INDICARE CHE VOGLIO FARE RIFERIMENTO AL METODO getsalario ( ) DELLA SUPERCLASSE Impiegato E NON A QUELLO DELLA CLASSE Manager

21 L'ereditarietà: Nota Abbiamo visto che, con l'ereditarietà, una sottoclasse può aggiungere campi e metodi o effettuare l'ovverride di metodi della superclasse Tuttavia, traminte l'ereditarietà NON SI POSSONO ELIMINARE né metodi né campi della superclasse.

22 L'ereditarietà: Costruttori Predefiniti Come si comporta il meccanismo dei costruttori nell'ereditarietà? Se non definisco costruttori personalizzati oppure ho solo costruttori predefiniti (senza parametri), non ho particolari problemi: - nella superclasse viene chiamato il costruttore predefinito che inizializza gli attributi al valore di default; - nella sottoclasse viene chiamato il costruttore predefinito della superclasse per inizializzare gli attributi della superclasse (quelli private) al valore di default; ed il costruttore predefinito della sottoclasse per inizializzare gli attributi della sottoclasse (che non possiede la superclasse) al valore di default.

23 L'ereditarietà: Costruttori Personalizzati Se ho dei costruttori personalizzati, la situazione si complica: - consideriamo che nella superclasse ho definito un costruttore personalizzato, quindi non esiste più il costruttore predefinito (senza parametri) che Java mette di default. - nella sottoclasse il costruttore andrebbe a cercare il costruttore predefinito della superclasse; questo però non esiste e Java mi darebbe errore.

24 L'ereditarietà: Costruttori Personalizzati ESEMPIO: Ritornando all'esempio consideriamo che Impiegato abbia un costruttore personalizzato: public class Impiegato public Impiegato(String n, String c, int s ) nome = n; cognome = c; salario = s;

25 L'ereditarietà: Costruttori Personalizzati Come agire: - devo indicare nella sottoclasse che voglio utilizzare un determinato costruttore della superclasse - per far ciò si utilizza anche in questo caso la parola chiave super - in questo caso è però utilizzata con uno scopo diverso: chiamare il costruttore della superclasse all'interno della sottoclasse.

26 L'ereditarietà: Costruttori Personalizzati ESEMPIO: La classe Manager dovrà avere un costruttore che utilizza il costruttore personalizzato di Impiegato perchè quello predefinito non esiste più: public class Manager extends Impiegato public Manager (String n, String c, int s ) super (n, c, s); bonus = 0; VA A CHIAMARE IL COSTRUTTORE: Impiegato (String n, String c, int s) DELLA CLASSE IMPIEGATO

27 L'ereditarietà: Costruttori Personalizzati Attenzione: in questi casi la chiamata al costruttre della superclasse, con la parola chiave super, deve essere la PRIMA ISTRUZIONE del costruttore della sottoclasse.

28 L'ereditarietà: Gerarchie L'ereditarietà non si limita a un solo livello di classi. È possibile avere sottoclassi di sottoclassi e di fatto formare una gerarchia. ATTENZIONE: non è permessa però l'ereditarietà Multipla, ovvero una classe non può estendere 2 (o più) classi, ma solo 1. Ovviamente invece è possibile il contrario, ovvero una classe può essere estesa da più classi.

29 L'ereditarietà: Polimorfismo Quando abbiamo introdotto l'ereditarietà abbiamo detto che è possibile utilizzare un oggetto della sottoclasse ogni qualvolta è richiesto quello della superclasse. Impiegato i = new Impiegato ( ); Impiegato m = new Manager ( ); ASSEGNO UN OGGETTO DI TIPO MANAGER AD UNA VARIABILE DI TIPO IMPIEGATO m SARÀ UN OGGETTO DI TIPO MANAGER MA UTILIZZABILE SOLO COME IMPIEGATO

30 L'ereditarietà: Polimorfismo Quando accade una cosa del genere, si parla di polimorfismo. Ovvero una variabile che ha come tipo una determinata classe può far riferimento sia ad oggetti di questa classe che ad oggetti delle sue sottoclassi. Con questa tecnica si applica il principio di sostituzione: si può utilizzare un oggetto della sottoclasse ogni volta che il programma si aspetta un oggetto della superclasse.

31 L'ereditarietà: Polimorfismo (dettagli) E' lecito chiedersi: l'oggetto m, sarà un Manager o un Impiegato? Impiegato i = new Impiegato ( ); Impiegato m = new Manager ( ); E' una via di mezzo: - è di fatto un oggetto di tipo Manager; - posso utilizzare però solo i metodi che ha anche Impiegato;

32 L'ereditarietà: Polimorfismo (dettagli) Classe Impiegato: public class Impiegato public String ruolo( ) return Imp ; Classe Manager: public class Manager extends Impiegato public String ruolo( ) return Man ; Ho un metodo ruolo( ) che mi ritorna una Stringa contenente il ruolo nell'azienda: la classe Impiegato ritorna Imp ; la classe Manager fa l'ovverride di tale metodo e ritorna Man.

33 L'ereditarietà: Polimorfismo Cosa accade in questo caso? Impiegato m = new Manager ( ); System.out.println( m.ruolo( ) ); VERRÀ STAMPATO Imp OPPURE Man? In questo caso, essendo m un oggetto di tipo Manager, anche se vi accedo con una variabile di tipo Impiegato, viene preso il metodo ruolo ( ) della classe Manager e non quello della classe Impiegato.

34 L'ereditarietà: Polimorfismo (dettagli) Classe Impiegato: public class Impiegato Classe Manager: public class Manager extends Impiegato private int bonus; public int getbonus( ) return bonus; La classe Manager aggiunge un attributo bonus ed un metodo getbonus( ) per accedervi.

35 L'ereditarietà: Polimorfismo Cosa accade in questo caso? Impiegato m = new Manager ( ); System.out.println( m.getbonus( ) ); ERRORE: ANCHE SE È UN OGGETTO DI TIPO EFFETTIVO MANAGER, POSSO UTILIZZARE SOLO I METODI PRESENTI IN IMPIEGATO In questo caso, è vero che m è un oggetto di tipo Manager ma, accedendovi con una variabile di tipo Impiegato, posso utilizzare solo i metodi che ha Impiegato perchè appunto il sistema si aspettava un oggetto di tipo Impiegato.

36 L'ereditarietà: Evitare l'ereditarietà A volte si vuole evitare che una classe possa essere estesa; si vuole fare in modo cioè che non possa avere sottoclassi. Se si vuole far ciò bisogna dichiarare una classe final; la stessa parola chiave che abbiamo appunto utilizzato per dichiarare le costanti. final class NomeClasse

37 L'ereditarietà: Evitare l'ereditarietà È possibile dichiarare final anche un metodo; in questo caso significa che nessuna sottoclasse può effettuare l'override class NomeClasse final void nomemetodo( )

38 L'ereditarietà: il Casting Abbiamo già visto che la conversione di un tipo in un altro prende il nome di casting. In precedenza abbiamo visto solo il casting di tipi primitivi. double x = 3.405; int nx = (int) x; //x vale 3 Vediamo come comportarci con gli Oggetti.

39 L'ereditarietà: il Casting Abbiamo visto che il Polimorfismo ci permette di fare cose del genere: Impiegato i = new Manager( ); ASSEGNO AD UNA VARIABILE DEL TIPO DELLA SUPERCLASSE UN OGGETTO DELLA SOTTOCLASSE ANCHE SE i È UN OGGETTO DI TIPO MANAGER, POSSO UTILIZZARE SOLO I METODI CHE HA LA CLASSE IMPIEGATO

40 L'ereditarietà: il Casting Se voglio utilizzare metodi propri di Manager (ovvero che non sono stati ereditati da Impiegato) devo fare un casting esplicito della variabile di tipo Impiegato in tipo Manager: Impiegato i = new Manager( ); Manager m = (Manager) i ; ORA m (CHE CONTINUA AD ESSERE LO STESSO OGGETTO DI i) È A TUTTI GLI EFFETTI UN MANAGER E POSSO UTILIZZARLO COME TALE.

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le

Dettagli

Parola chiave extends

Parola chiave extends Il Linguaggio Java Ereditarietà Ereditarietà L'ereditarietà permette di creare nuove classi sulla base di classi esistenti In particolare, permette di riusare il codice (metodi e campi); aggiungere nuovi

Dettagli

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

Dettagli

Esercizi della lezione 5 di Java

Esercizi della lezione 5 di Java Esercizi della lezione 5 di Java Esercizio 5 Create il tipo di dato Counter dell Esercizio 1 come sottoclasse del tipo di dato SimpleCounter. Esercizio 1 Create un tipo di dato Counter che abbia: un valore

Dettagli

Introduzione. Java. Composizione. Esempio -- composizione. G. Prencipe prencipe@di.unipi.it. È qualcosa che abbiamo già visto varie volte

Introduzione. Java. Composizione. Esempio -- composizione. G. Prencipe prencipe@di.unipi.it. È qualcosa che abbiamo già visto varie volte Java riutilizzo delle classi G. Prencipe prencipe@di.unipi.it Introduzione Una delle caratteristiche fondamentali in Java è il riutilizzo del codice Ci sono due modi per ottenerlo Creare oggetti di classi

Dettagli

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizio 1 Nella classe definita di seguito indicare quali sono le variabili di istanza, quali sono le variabili

Dettagli

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi

Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi Eredità in C++ Corso di Linguaggi di Programmazione ad Oggetti 1 a cura di Giancarlo Cherchi 1 Introduzione Il meccanismo dell eredità consente di sfruttare delle relazioni tipo/sottotipo, ereditando attributi

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Ereditarietà e classi astratte

Ereditarietà e classi astratte Ereditarietà e classi astratte 6 Temi del capitolo 1. Il concetto di ereditarietà 2. Programmazione grafica con ereditarietà 3. Classi astratte 4. Il pattern TEMPLATE METHOD 5. Interfacce protected 6.

Dettagli

http://www.programmiamo.altervista.org/c/oop/o...

http://www.programmiamo.altervista.org/c/oop/o... PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario.

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

Realizzazione di una classe con un associazione

Realizzazione di una classe con un associazione Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe

Dettagli

Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html. Outline

Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html. Outline Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi

Dettagli

Programmazione ad Oggetti: JAVA. Esercitazione

Programmazione ad Oggetti: JAVA. Esercitazione Programmazione ad Oggetti: JAVA Esercitazione Docente Ing. Mariateresa Celardo mariateresa.celardo@uniroma2.it Scrivere la classe Motorino che ha i seguenti attributi colore: una stringa indicante il colore

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando)

Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando) Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando) Le basi della programmazione ad oggetti: per costruire in modo adeguato una applicazione basata sulla programmazione ad oggetti occorre

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

Programmazione Java: Variabili membro, Metodi La parola chiave final Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave

Dettagli

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

!#$%&&'()#*%+%+!#$',,'()#*%+ -)%*&'&'+'$.)+-$$%&&) !#$%&&'(%)'*+%,#-%#.'%&'#/0)-+#12+3,)4+56#7+#.')8'9 !"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se

Dettagli

Inizializzazione, Assegnamento e Distruzione di Classi

Inizializzazione, Assegnamento e Distruzione di Classi Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: OOP Pasqualetti Veronica Oggetti Possiamo pensare ad un oggetto come ad un tipo di dato più complesso e personalizzato, non esistente fra i tipi tradizionali di PHP, ma creato da noi. 2 Gli oggetti

Dettagli

Ottava Esercitazione. introduzione ai thread java mutua esclusione

Ottava Esercitazione. introduzione ai thread java mutua esclusione Ottava Esercitazione introduzione ai thread java mutua esclusione Agenda Esempio 1 Concorrenza in Java: creazione ed attivazione di thread concorrenti. Esercizio 2 da svolgere Concorrenza in Java: sincronizzazione

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

DESIGN PATTERNS Parte 6. State Proxy

DESIGN PATTERNS Parte 6. State Proxy DESIGN PATTERNS Parte 6 State Proxy STATE Il Design Pattern State nasce dall'esigenza di poter gestire gli stati di una classe senza dover usare dei costrutti come gli Enum e quindi delle switch. Prendiamo

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015 Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

I DATABASE Database relazionale

I DATABASE Database relazionale Database relazionale Modello di database che consiste di diversi file separati che sono correlati l'un l'altro attraverso campi chiave. Si può accedere alle informazioni memorizzate in un file attraverso

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Il meccanismo dell ereditarietà a.a. 2008/2009 Claudio De Stefano 1 L ereditarietà consente di definire nuove classi per specializzazione o estensione di classi preesistenti,

Dettagli

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY)

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) CICLO DI LEZIONI per Progetto e Gestione della Qualità Facoltà di Ingegneria CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) Carlo Noè Università Carlo Cattaneo e-mail: cnoe@liuc.it 1 CAPACITÀ DI PROCESSO Il

Dettagli

Definizione di classi con array di oggetti

Definizione di classi con array di oggetti Definizione di classi con array di oggetti 1. (Esame scritto del 18/9/2002, Esercizio 6.) La banca dati di un agenzia assicurativa per auto è caratterizzata da un insieme di polizze di assicurazioni per

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Main System Monitor Keyboard

Main System Monitor Keyboard Composite 57 8. Composite (Gof pag. 163) 8.1. Descrizione Consente la costruzione di gerarchie di oggetti composti. Gli oggetti composti possono essere conformati da oggetti singoli, oppure da altri oggetti

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox.

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox. Oggi parlerò di qualcosa che ha a che fare relativamente con la tecnica fotografica, ma che ci può dare una mano nella gestione dei nostri archivi digitali, soprattutto nel rapporto professionale con altre

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono: IL MODELLO EER Modellazione Entità-Associazione estesa 2 Modellazione EER (modellazione ER-estesa) Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono: i concetti

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

GPO. (Group Policy Object) Ing. Daniele Mazza

GPO. (Group Policy Object) Ing. Daniele Mazza GPO (Group Policy Object) di cosa si tratta Una GPO non è altro che un insieme di impostazioni che coinvolgono utenti e computer e che sono associate con un container object di Active Directory (Sito,

Dettagli

COME CREARE UNA LAN DOMESTICA

COME CREARE UNA LAN DOMESTICA COME CREARE UNA LAN DOMESTICA Breve Introduzione con la sigla LAN, si intende Local Area Network, una rete virtuale che permette la comunicazione tra più computer tramite collegamento via cavo. Ciò permette

Dettagli

C# LE CLASSI O.O.P. = Object Oriented Programming oggetto classe oggetto istanziato l'oggetto istanza della classe classe istanziare oggetti

C# LE CLASSI O.O.P. = Object Oriented Programming oggetto classe oggetto istanziato l'oggetto istanza della classe classe istanziare oggetti C# LE CLASSI C# è un linguaggio orientato agli oggetti (O.O.P. = Object Oriented Programming). Un oggetto è la realizzazione in pratica di un qualcosa descritto in teoria. Esso ha delle caratteristiche,

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Informatica 3 Lezione 7 -

Dettagli

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa

Dettagli

L interfaccia utente di Office 2010

L interfaccia utente di Office 2010 L interfaccia utente di Office 2010 Personalizza la barra multifunzione Pagine: 3 di 4 Autore: Alessandra Salvaggio - Tratto da: Office 2010 la tua prima guida - Edizioni FAG Milano Ridurre la barra multifunzione

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Esempio: il conto bancario

Esempio: il conto bancario Ereditarietà Prof. Francesco Scarcello D.E.I.S., Università della Calabria Corso di Informatica 2 Esempio: il conto bancario public class BankAccount { public BankAccount() { balance = 0; public BankAccount(double

Dettagli

UML Diagrammi delle classi. UML Diagramma classi 1

UML Diagrammi delle classi. UML Diagramma classi 1 UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica I tipi strutturati: gli array e le strutture Claudio De Stefano - Corso di Fondamenti di Informatica 1 arrays un array (o vettore) è una sequenza di oggetti dello stesso

Dettagli

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE

Dettagli

DOCUMENTO ESPLICATIVO

DOCUMENTO ESPLICATIVO DOCUMENTO ESPLICATIVO Modificare il proprio menu con Web designer - CATEGORIA MENU Digitate il vostro username e password, vedrete comparire tre tasti: AREA RISERVATA, WEB DESIGNER e LOGOUT ( vedi foto

Dettagli

esercizi Esercizi / problemi

esercizi Esercizi / problemi Sistemi informativi applicati (reti di calcolatori): esercizi 1 Esercizi / problemi 1. Creare un applicazione che calcoli la media aritmetica dei seguenti valori interi: 35, 117, 23 e ne visualizzi il

Dettagli

QG Gestione Assenze. Inserimento per Classe. Per la gestione delle assenze accedere dal Menu Giornaliere->Assenze e Giustificazioni

QG Gestione Assenze. Inserimento per Classe. Per la gestione delle assenze accedere dal Menu Giornaliere->Assenze e Giustificazioni QG Gestione Assenze Per la gestione delle assenze accedere dal Menu Giornaliere->Assenze e Giustificazioni Le voci principali che permettono l inserimento delle assenze sono: Inserimento per Classe Inserimento

Dettagli

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

Dettagli

La prof.ssa SANDRA VANNINI svolge da diversi anni. questo percorso didattico sulle ARITMETICHE FINITE.

La prof.ssa SANDRA VANNINI svolge da diversi anni. questo percorso didattico sulle ARITMETICHE FINITE. La prof.ssa SANDRA VANNINI svolge da diversi anni questo percorso didattico sulle ARITMETICHE FINITE. La documentazione qui riportata è ricavata dalla trascrizione dei lucidi che vengono prodotti dall

Dettagli

Esame dell 8 settembre 2012

Esame dell 8 settembre 2012 Basi di Dati e Sistemi Informativi Errori ricorrenti nella progettazione concettuale Questo documento ha, come scopo, presentare alcuni gravi errori che ricorrono spesso nella progettazione concettuale

Dettagli

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Relazioni tra classi Ereditarietà Generalizzazione Specializzazione Aggregazione Composizione Dipendenza Associazione Sommario Relazioni

Dettagli

Pulire IM. Non tutti sanno che solo una corretta e regolare pulizia nelle cartelle di IM, assicura un funzionamento longevo del programma

Pulire IM. Non tutti sanno che solo una corretta e regolare pulizia nelle cartelle di IM, assicura un funzionamento longevo del programma Pulire IM Non tutti sanno che solo una corretta e regolare pulizia nelle cartelle di IM, assicura un funzionamento longevo del programma Vediamo come fare questa pulizia attraverso due passaggi (teniamo

Dettagli

POLIAGE GUIDA RAPIDA

POLIAGE GUIDA RAPIDA www.candian.itinfo@candian.it!!"#$% &%'%$%(%)*)+,-,'!-#,%$. POLIAGE GUIDA RAPIDA I. Codifica di una prestazione Pag. 2 II. Inserimento di un nuovo professionista 4 I Creazione Profilo Agenda 6 II Gestione

Dettagli

costruttori e distruttori

costruttori e distruttori costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

13. Chain of Responsibility

13. Chain of Responsibility Chain of Responsibility 92 13. Chain of Responsibility (GoF pag. 223) 13.1. Descrizione Consente di separare il mittente di una richiesta dal destinario, in modo di consentire a più di un oggetto di gestire

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Sviluppo Applicazioni Mobile Lezione 11. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 11. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 11 + Credits I lucidi di questa lezione sono stati preparati da: Professor Stefano Mizzaro Professor Paolo Coppola e sono stati modificati e completati dal Dr. Paolo

Dettagli

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare

Dettagli

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF Come da disposizioni di inizio stagione, alcune Delegazioni provinciali hanno richiesto la trasmissione dei referti arbitrali solo tramite fax o tramite mail.

Dettagli