ODD Object Design Document
|
|
- Clementina Maggio
- 6 anni fa
- Visualizzazioni
Transcript
1 UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) ODD Object Design Document Membri del gruppo: Calè Giuseppe Gemmellaro Claudio Lo Grasso Marco Minacori Attilio
2 INDICE 1 Introduzione 2 2 Diagramma delle classi del package ClassificaERicerca 3 3 JavaDoc del package ClassificaERicerca Classe AbstractionRicerca Classe ClassificaERicercaAdapter Classe ClassificaERicercaFacade Classe ClassificaERicercaTarget 15 4 Scheletro delle classi del package ClassificaERicerca Classe AbstractionRicerca Classe ClassificaERicercaAdapter Classe ClassificaERicercaFacade Classe ClassificaERicercaTarget
3 1 Introduzione Nel seguente documento viene presentata la descrizione dettagliata di tutte le classi del sottosistema ClassificaERicerca. Questo sottosistema è costituito da un componente centrale ClassificaERicerca che effettua la classificazione automatica dei documenti e fornisce le funzionalità di ricerca. Questo componente, essendo già esistente e non essendo stato sviluppato all interno di questo progetto, si è scelto di riutilizzarlo adattandolo al sistema. I design pattern utilizzati nel sottosistema ClassificaERicerca sono: Facade, che implementa un interfaccia più semplice per il sottosistema invocando i metodi delle classi di livello più basso AbstractionRicerca e ClassificaERicercaTarget. Adapter, che permette di adattare l interfaccia esistente ClassificaERicerca con quella che il sistema si aspetta, utilizzando a tale scopo le classi ClassificaERicercaTarget e ClassificaERicercaAdapter. Bridge, che definisce l interfaccia visibile al sistema tramite la classe astratta AbstrationRicerca e la classe ClassificaERicercaTarget che raffina i metodi presente nella classe astratta. Questo design pattern è stato inserito per permettere future espansioni delle funzionalità del sistema. 2
4 2 Diagramma delle classi del sottosistema ClassificaERicerca 3
5 3 JavaDoc delle classi del package ClassificaERicerca 3.1 Classe AbstractionRicerca Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS SUMMARY: NESTED FIELD CONSTR METHOD FRAMES NO FRAMES All Classes All Classes DETAIL: FIELD CONSTR METHOD ClassificaERicerca Class AbstractionRicerca java.lang.object ClassificaERicerca.AbstractionRicerca public abstract class AbstractionRicerca extends java.lang.object Abstraction del Pattern Bridge. Definisce l'interfaccia dell'abstraction. E' utilizzata direttamente dal Facade ClassificaERicercaFacade. Version: 0.9 Author: Attilio Minacori, Giuseppe Calè Field Summary ClassificaERicercaFacade classificaericercafacade ClassificaERicercaTarget classificaericercatarget Constructor Summary AbstractionRicerca() Method Summary void abstractionricerca() costruttore della classe java.lang.string[] cercaavanzato(java.lang.string nome, java.lang.string categoria, java.lang.string tipo, java.lang.string gruppo) ricerca avanzata per nome, categoria, gruppo e tipo utilizzando i metodi cerca(), cercacategoria(), cercatipo() e cercagruppo() di ClassificaERicercaTarget java.lang.string[] cercanome(java.lang.string nome) 4
6 ricerca semplice per nome utilizzando il metodo cerca() di ClassificaERicercaTarget java.lang.string[] cercanomecategoria(java.lang.string nome, java.lang.string categoria) ricerca per nome e categoria utilizzando il metodo cercacategaria() e cerca() di ClassificaERicercaTarget Methods inherited from class java.lang.object clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait Field Detail classificaericercatarget public ClassificaERicercaTarget classificaericercatarget classificaericercafacade public ClassificaERicercaFacade classificaericercafacade Constructor Detail AbstractionRicerca public AbstractionRicerca() Method Detail cercanome public java.lang.string[] cercanome(java.lang.string nome) ricerca semplice per nome utilizzando il metodo cerca() di ClassificaERicercaTarget nome - nome documento array di riferimento ai documenti trovati cercanomecategoria public java.lang.string[] cercanomecategoria(java.lang.string nome, java.lang.string categoria) ricerca per nome e categoria utilizzando il metodo cercacategaria() e cerca() di ClassificaERicercaTarget 5
7 nome - nome documento categoria - categoria documento array di riferimenti ai documenti trovati cercaavanzato public java.lang.string[] cercaavanzato(java.lang.string nome, java.lang.string categoria, java.lang.string tipo, java.lang.string gruppo) ricerca avanzata per nome, categoria, gruppo e tipo utilizzando i metodi cerca(), cercacategoria(), cercatipo() e cercagruppo() di ClassificaERicercaTarget nome - nome documento categoria - categoria documento tipo - tipo documento gruppo - tipo gruppo array di riferimenti ai docuementi trovati abstractionricerca public void abstractionricerca() costruttore della classe Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS SUMMARY: NESTED FIELD CONSTR METHOD FRAMES NO FRAMES All Classes All Classes DETAIL: FIELD CONSTR METHOD 6
8 3.2 Classe ClassificaERicercaAdapter Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS SUMMARY: NESTED FIELD CONSTR METHOD FRAMES NO FRAMES All Classes All Classes DETAIL: FIELD CONSTR METHOD ClassificaERicerca Class ClassificaERicercaAdapter java.lang.object ClassificaERicerca.ClassificaERicercaTarget ClassificaERicerca.ClassificaERicercaAdapter public class ClassificaERicercaAdapter extends ClassificaERicercaTarget Adapter. Adatta l'interfaccia di ClassificaERicerca all'interfaccia ClassificaERicercaTarget. Version: 0.9 Author: Attilio Minacori Field Summary ClassificaERicerca.ClassificaERicerca classificaericerca ClassificaERicerca.Documento documento Fields inherited from class ClassificaERicerca.ClassificaERicercaTarget abstractionricerca, classificaericercafacade Constructor Summary ClassificaERicercaAdapter() Method Summary java.lang.string[ ] java.lang.string[ ] java.lang.string[ ] java.lang.string[ ] cerca(java.lang.string nome) ricerca per nome documento cercacategoria(java.lang.string categoria) ricerca per categoria di documenti cercagruppo(java.lang.string gruppo) ricerca dei documenti appartenenti ad un gruppo cercatipo(java.lang.string tipo) ricerca per tipo di documento 7
9 void ClassificaERIcercaAdapter() costruttore di default void ClassificaERicercaAdapter(ClassificaERicerca.ClassificaERice rca adaptee) Costruttore con l' Adaptee come parametro java.lang.string[ ] listacategorie() serve per avere la lista delle categorie presenti nel sistema java.lang.string[ ] listagruppi(java.lang.string nomeutente) serve ad ottenere la lista dei gruppi a cui appartiene l'utente java.lang.string[ ] listatipo() serve ad ottenere la lista dei tipi di documenti presenti nel sistema Methods inherited from class java.lang.object clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait Field Detail documento public ClassificaERicerca.Documento documento classificaericerca public ClassificaERicerca.ClassificaERicerca classificaericerca Constructor Detail ClassificaERicercaAdapter public ClassificaERicercaAdapter() Method Detail cerca public java.lang.string[] cerca(java.lang.string nome) ricerca per nome documento Overrides: cerca in class ClassificaERicercaTarget nome - nome documento array riferimento ai documenti trovati 8
10 cercacategoria public java.lang.string[] cercacategoria(java.lang.string categoria) ricerca per categoria di documenti Overrides: cercacategoria in class ClassificaERicercaTarget categoria - categoria del documento array di riferimenti ai documenti trovati cercatipo public java.lang.string[] cercatipo(java.lang.string tipo) ricerca per tipo di documento Overrides: cercatipo in class ClassificaERicercaTarget tipo - tipo documento array di riferimenti ai documenti trovati cercagruppo public java.lang.string[] cercagruppo(java.lang.string gruppo) ricerca dei documenti appartenenti ad un gruppo Overrides: cercagruppo in class ClassificaERicercaTarget gruppo - nome gruppo array di riferimenti ai documenti trovati listacategorie public java.lang.string[] listacategorie() serve per avere la lista delle categorie presenti nel sistema Overrides: listacategorie in class ClassificaERicercaTarget 9
11 la lista delle categorie presenti nel sistema listatipo public java.lang.string[] listatipo() serve ad ottenere la lista dei tipi di documenti presenti nel sistema Overrides: listatipo in class ClassificaERicercaTarget la lista dei tipi presenti nel sistema listagruppi public java.lang.string[] listagruppi(java.lang.string nomeutente) serve ad ottenere la lista dei gruppi a cui appartiene l'utente Overrides: listagruppi in class ClassificaERicercaTarget nomeutente - nome dell'utente di cui si vuole conoscere i gruppi a cui appartiene lista dei gruppi a cui appartiene l'utente ClassificaERIcercaAdapter public void ClassificaERIcercaAdapter() costruttore di default ClassificaERicercaAdapter public void ClassificaERicercaAdapter(ClassificaERicerca.ClassificaERicerca adaptee) Costruttore con l' Adaptee come parametro adaptee - oggetto che viene adattato al sistema Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes All Classes SUMMARY: NESTED FIELD CONSTR METHOD DETAIL: FIELD CONSTR METHOD 3.3 Classe ClassificaERicercaFacade 10
12 Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS SUMMARY: NESTED FIELD CONSTR METHOD FRAMES NO FRAMES All Classes All Classes DETAIL: FIELD CONSTR METHOD ClassificaERicerca Class ClassificaERicercaFacade java.lang.object ClassificaERicerca.ClassificaERicercaFacade public class ClassificaERicercaFacade extends java.lang.object Facade. Assegna le richieste del client alle appropriate classi del sottosistema. Version: 0.9 Author: Giuseppe Calè e Attilio Minacori Field Summary AbstractionRicerca abstractionricerca ClassificaERicercaTarget classificaericercatarget Constructor Summary ClassificaERicercaFacade() Method Summary java.lang.string[] cerca(java.lang.string nome) ricerca semplice per nome documento java.lang.string[] cercaavanzata(java.lang.string nome, java.lang.string categoria, java.lang.string tipo, java.lang.string gruppo) ricerca avanzata per nome, categoria, tipo e gruppo di appartenenza java.lang.string[] cercanomecategoria(java.lang.string nome, java.lang.string categoria) ricerca semplice per nome e categoria java.lang.string[] cercanomegruppo(java.lang.string nome, java.lang.string gruppo) ricerca per nome e gruppo void ClassificaERicercaFacade() 11
13 costruttore di default java.lang.string[] listacategorie() ritorna la lista delle categorie presenti nel sistema java.lang.string[] listagruppi(java.lang.string nomeutente) ritorna la lista dei gruppi a cui appartienen l'utente che richiede la ricerca java.lang.string[] listatipo() ritorna la lista dei tipi presenti nel sistema Methods inherited from class java.lang.object clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait Field Detail abstractionricerca public AbstractionRicerca abstractionricerca classificaericercatarget public ClassificaERicercaTarget classificaericercatarget Constructor Detail ClassificaERicercaFacade public ClassificaERicercaFacade() Method Detail cerca public java.lang.string[] cerca(java.lang.string nome) ricerca semplice per nome documento nome - nome del documento da cercare un'array di riferimenti ai documenti trovati cercanomecategoria public java.lang.string[] cercanomecategoria(java.lang.string nome, java.lang.string categoria) 12
14 ricerca semplice per nome e categoria nome - nome del documento da ricercare categoria - categoria del documento da ricercare un'array di riferimenti ai documenti trovati cercaavanzata public java.lang.string[] cercaavanzata(java.lang.string nome, java.lang.string categoria, java.lang.string tipo, java.lang.string gruppo) ricerca avanzata per nome, categoria, tipo e gruppo di appartenenza nome - nome documento categoria - categoria documenti tipo - tipo del documento gruppo - gruppo a cui appartiene il documento un'array di riferimenti ai documenti trovati cercanomegruppo public java.lang.string[] cercanomegruppo(java.lang.string nome, java.lang.string gruppo) ricerca per nome e gruppo nome - nome del documento gruppo - gruppo a cui appartiene il documento un'array di riferimenti ai documenti trovati listacategorie public java.lang.string[] listacategorie() ritorna la lista delle categorie presenti nel sistema lista di tutte le categorie listatipo 13
15 public java.lang.string[] listatipo() ritorna la lista dei tipi presenti nel sistema lista di tutti i tipi di documento listagruppi public java.lang.string[] listagruppi(java.lang.string nomeutente) ritorna la lista dei gruppi a cui appartienen l'utente che richiede la ricerca nomeutente - nome dell'utente lista dei gruppi a cui appartiene l'utente ClassificaERicercaFacade public void ClassificaERicercaFacade() costruttore di default Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS SUMMARY: NESTED FIELD CONSTR METHOD FRAMES NO FRAMES All Classes All Classes DETAIL: FIELD CONSTR METHOD 14
16 3.4 Classe ClassificaERicercaTarget Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS SUMMARY: NESTED FIELD CONSTR METHOD FRAMES NO FRAMES All Classes All Classes DETAIL: FIELD CONSTR METHOD ClassificaERicerca Class ClassificaERicercaTarget java.lang.object ClassificaERicerca.ClassificaERicercaTarget Direct Known Subclasses: ClassificaERicercaAdapter public class ClassificaERicercaTarget extends java.lang.object Target. Definisce l'interfaccia dell'adapter ClassificaERicercaAdapter. E' anche parte del pattern Bridge e fa da "Implementor" per la classe AbstractionRicerca. Version: 0.9 Author: Giuseppe Calè Field Summary AbstractionRicerca abstractionricerca ClassificaERicercaFacade classificaericercafacade Constructor Summary ClassificaERicercaTarget() Method Summary java.lang.string[] cerca(java.lang.string nome) ricerca semplice per nome void cercacategoria(java.lang.string categoria) ricerca semplice per categoria java.lang.string[] cercagruppo(java.lang.string gruppo) ricerca semplice per gruppo java.lang.string[] cercatipo(java.lang.string tipo) ricerca semplice per tipo 15
17 java.lang.string[] listacategorie() lista delle categorie presenti nel sistema java.lang.string[] listagruppi(java.lang.string nomeutente) lista dei gruppi a cui un utente appartiene java.lang.string[] listatipo() lista dei tipi presenti nel sistema Methods inherited from class java.lang.object clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait Field Detail abstractionricerca public AbstractionRicerca abstractionricerca classificaericercafacade public ClassificaERicercaFacade classificaericercafacade Constructor Detail ClassificaERicercaTarget public ClassificaERicercaTarget() Method Detail cerca public java.lang.string[] cerca(java.lang.string nome) ricerca semplice per nome nome - nome documento un'array di riferimenti ai documenti trovati cercacategoria public void cercacategoria(java.lang.string categoria) ricerca semplice per categoria 16
18 categoria - nome categoria cercatipo public java.lang.string[] cercatipo(java.lang.string tipo) ricerca semplice per tipo tipo - tipo documento un'array di riferimenti ai documenti trovati cercagruppo public java.lang.string[] cercagruppo(java.lang.string gruppo) ricerca semplice per gruppo gruppo - nome del gruppo o archivio un'array di riferimenti ai documenti trovati listacategorie public java.lang.string[] listacategorie() lista delle categorie presenti nel sistema lista delle categorie listatipo public java.lang.string[] listatipo() lista dei tipi presenti nel sistema lista dei tipi di documenti listagruppi public java.lang.string[] listagruppi(java.lang.string nomeutente) 17
19 lista dei gruppi a cui un utente appartiene nomeutente - nome utente lista dei a cui appartiene l'utente Package Class Tree Deprecated Index Help PREV CLASS NEXT CLASS SUMMARY: NESTED FIELD CONSTR METHOD FRAMES NO FRAMES All Classes All Classes DETAIL: FIELD CONSTR METHOD 18
20 4 Scheletro delle classi del package ClassificaERicerca 4.1 Scheletro della classe AbstractionRicerca package ClassificaERicerca; / Abstraction del Pattern Bridge. Definisce l'interfaccia dell'abstraction. E' utilizzata direttamente dal Facade Attilio Giuseppe 0.9 / public abstract class AbstractionRicerca { / <p>ricerca semplice per nome utilizzando il metodo cerca() di nome nome array di riferimento ai documenti trovati / public String[] cercanome(string nome) { / <p>ricerca per nome e categoria utilizzando il metodo cercacategaria() e cerca() di nome nome categoria categoria array di riferimenti ai documenti trovati / public String[] cercanomecategoria(string nome, String categoria) { / <p>ricerca avanzata per nome, categoria, gruppo e tipo utilizzando i metodi cerca(), cercacategoria(), cercatipo() e cercagruppo() di nome nome categoria categoria tipo tipo gruppo tipo array di riferimenti ai docuementi trovati / public String[] cercaavanzato(string nome, String categoria, String tipo, String gruppo) { 19
21 / <p>costruttore della classe</p> / public void abstractionricerca() { / / public ClassificaERicerca.ClassificaERicercaTarget classificaericercatarget; / / public ClassificaERicerca.ClassificaERicercaFacade classificaericercafacade; 20
22 4.2 Scheletro della classe ClassificaERicercaAdapter package ClassificaERicerca; / Adapter. Adatta l'interfaccia di ClassificaERicerca all'interfaccia Attilio 0.9 / public class ClassificaERicercaAdapter extends ClassificaERicerca.ClassificaERicercaTarget { / / public ClassificaERicerca.Documento documento; / <p>ricerca per nome nome nome array riferimento ai documenti trovati / public String[] cerca(string nome) { / <p>ricerca per categoria di categoria categoria del array di riferimenti ai documenti trovati / public String[] cercacategoria(string categoria) { / <p>ricerca per tipo di tipo tipo array di riferimenti ai documenti trovati / public String[] cercatipo(string tipo) { / <p>ricerca dei documenti appartenenti ad un gruppo</p> 21
23 @param gruppo nome array di riferimenti ai documenti trovati / public String[] cercagruppo(string gruppo) { / <p>serve per avere la lista delle categorie presenti nel la lista delle categorie presenti nel sistema / public String[] listacategorie() { / <p>serve ad ottenere la lista dei tipi di documenti presenti nel la lista dei tipi presenti nel sistema / public String[] listatipo() { / <p>serve ad ottenere la lista dei gruppi a cui appartiene nomeutente nome dell'utente di cui si vuole conoscere i gruppi a cui lista dei gruppi a cui appartiene l'utente / public String[] listagruppi(string nomeutente) { / <p>costruttore di default</p> / public void ClassificaERIcercaAdapter() { / <p>costruttore con l' Adaptee come adaptee oggetto che viene adattato al sistema / public void ClassificaERicercaAdapter(ClassificaERicerca.ClassificaERicerca adaptee) { 22
24 / / public ClassificaERicerca.ClassificaERicerca classificaericerca; 23
25 4.3 Scheletro della classe ClassificaERicercaFacade package ClassificaERicerca; / Facade. Assegna le richieste del client alle appropriate classi del Giuseppe Calè e Attilio 1.01 / public class ClassificaERicercaFacade { / <p>ricerca semplice per nome nome nome del documento da un'array di riferimenti ai documenti trovati / public String[] cerca(string nome) { / <p>ricerca semplice per nome e nome nome del documento da categoria categoria del documento da un'array di riferimenti ai documenti trovati / public String[] cercanomecategoria(string nome, String categoria) { / <p>ricerca avanzata per nome, categoria, tipo e gruppo di nome nome categoria categoria tipo tipo del gruppo gruppo a cui appartiene il un'array di riferimenti ai documenti trovati / public String[] cercaavanzata(string nome, String categoria, String tipo, String gruppo) { / <p>ricerca per nome e nome nome del gruppo gruppo a cui appartiene il documento 24
26 @return un'array di riferimenti ai documenti trovati / public String[] cercanomegruppo(string nome, String gruppo) { / <p>ritorna la lista delle categorie presenti nel lista di tutte le categorie / public String[] listacategorie() { / <p>ritorna la lista dei tipi presenti nel lista di tutti i tipi di documento / public String[] listatipo() { / <p>ritorna la lista dei gruppi a cui appartienen l'utente che richiede la nomeutente nome lista dei gruppi a cui appartiene l'utente / public String[] listagruppi(string nomeutente) { / <p>costruttore di default</p> / public void ClassificaERicercaFacade() { / / public ClassificaERicerca.AbstractionRicerca abstractionricerca; / 25
27 / public ClassificaERicerca.ClassificaERicercaTarget classificaericercatarget; 26
28 4.4 Scheletro della classe ClassificaERicercaTarget package ClassificaERicerca; / Target. Definisce l'interfaccia dell'adapter ClassificaERicercaAdapter. E' anche parte del pattern Bridge e fa da "Implementor" per la classe Giuseppe 0.9 / public class ClassificaERicercaTarget { / <p>ricerca semplice per nome nome un'array di riferimenti ai documenti trovati / public String[] cerca(string nome) { / <p>ricerca semplice per categoria nome categoria / public void cercacategoria(string categoria) { / <p>ricerca semplice per tipo tipo un'array di riferimenti ai documenti trovati / public String[] cercatipo(string tipo) { / <p>ricerca semplice per gruppo nome del gruppo o un'array di riferimenti ai documenti trovati / public String[] cercagruppo(string gruppo) { 27
29 / <p>lista delle categorie presenti nel lista delle categorie / public String[] listacategorie() { / <p>lista dei tipi presenti nel lista dei tipi di documenti / public String[] listatipo() { / <p>lista dei gruppi a cui un utente nomeutente nome lista dei a cui appartiene l'utente / public String[] listagruppi(string nomeutente) { / / public ClassificaERicerca.AbstractionRicerca abstractionricerca; / / public ClassificaERicerca.ClassificaERicercaFacade classificaericercafacade; 28
La classe Object. Ce li ha anche HelloWorld!!!
La classe Object Ogni classe estende implicitamente la classe java.lang.object La classe java.lang.object contiene dei metodi che vengono implicitamente ereditati I metodi ereditati sono: clone equals
DettagliReflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione
DettagliInfrastruttura per la Cooperazione Applicativa - C.A.R.T.
Infrastruttura per la Cooperazione Applicativa - C.A.R.T. Linee guida per lo sviluppo dei proxy applicativi page 1/36 Indice 1 Introduzione... 5 1.1Scopo... 5 1.2Acronimi e Abbreviazioni... 5 2Linee guide
DettagliCorso Linguaggi di programmazione II - Unina Esercitazione (prova intercorso)
1) Si considerino le classi Java: Corso Linguaggi di programmazione II - Unina Esercitazione (prova intercorso) class Card Card (String seed, int value) this.seed=seed; this.value=value; String seed; int
DettagliProgrammazione 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
DettagliCommenti per documentare il codice (doc comments) I commenti speciali devono essere delimitati da /**... */.
Linguaggi Corso di Laurea Ingegneria Informatica (M-Z) A.A. 2006-2007 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Documentazione in Java 1 Javadoc Terminology
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliLa classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
Dettagli! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java
Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 17 3 maggio 2015! Programmazione
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 12 ADT: Lista, Pila, Coda A. Miola Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ ADT: Lista, Pila, Coda 1 Contenuti!Tipo
DettagliObiettivi. Comprendere i vantaggi offerti dal meccanismo dell ereditarietà Attivare processi di astrazione e specializzazione.
Obiettivi Unità B2 Gli oggetti: concetti avanzati Comprendere i vantaggi offerti dal meccanismo dell ereditarietà Attivare processi di astrazione e specializzazione Ereditarietà L ereditarietà permette
DettagliIl linguaggio Java. La superclasse universale Object
Il linguaggio Java La superclasse universale Object La classe Object La classe Object è la superclasse, diretta o indiretta, di ogni classe La classe Object definisce lo stato ed il comportamento base
DettagliProgrammazione Java Avanzata Concetti su Java
Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java
DettagliEreditarietà. Ereditarietà. Ereditarietà. Ereditarietà
L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe
DettagliSpecifica i tipi di oggetti a creare, utilizzando un istanza prototipo, e crea nuove istanze tramite la copia di questo prototipo.
Prototype 28 4. Prototype (GoF pag. 117) 4.1. Descrizione 4.2. Esempio Specifica i tipi di oggetti a creare, utilizzando un istanza prototipo, e crea nuove istanze tramite la copia di questo prototipo.
DettagliProgrammazione ad oggetti
DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Classi astratte Le classi astratte sono un ibrido tra le classi concrete e le interfacce. Hanno le stesse caratteristiche di una
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliLivelli di astrazione
Realizzare Classi Astrazione Perdita di dettaglio Utile nella descrizione, progettazione, implementazione e utilizzo di sistemi complessi Dettagli trascurabili vengono incapsulati in sottosistemi più semplici
DettagliOrganizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern
Organizzazione della lezione 15. Java Remote Method Invocation (3) Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Il design pattern
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliSOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.)
SAPIENZA Università di Roma Facoltà di Ingegneria Sede di Latina Corso di Laurea in Ingegneria Informatica e dell Informazione Requisiti Corso di PROGETTAZIONE DEL SOFTWARE Prof. Domenico Lembo A.A. 2008-09
DettagliIntroduzione al Java Collections Framework. Java Collections Framework (cont.) Interfacce del Collections Framework
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Introduzione al Java Collections
DettagliClassi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
DettagliL ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo
Design Pattern L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo sviluppo dei programmi, il loro mantenimento,
DettagliIntroduzione al Java Collections Framework
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Insegnamento di PROGETTAZIONE
DettagliFondamenti 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
DettagliSOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica,
DettagliSDD System design document
UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs
DettagliEreditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction...
DettagliSOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria
Sapienza - Università di Roma Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito
DettagliDESIGN PATTERN STRUTTURALI INGEGNERIA DEL SOFTWARE INTRODUZIONE ADAPTER. Scopo Convertire l interfaccia di una classe in un altra.
DESIGN PATTERN STRUTTURALI DESIGN PATTERN STRUTTURALI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it
DettagliEsempi in Java di program.ne O-O
Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliCapitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73
Capitolo 9 Tipi enumerativi, tipi generici e interfacce c 2005 Pearson Education Italia Capitolo 9-1 / 73 Sommario: Tipi enumerativi, tipi generici e interfacce 1 Definizione di tipi enumerativi La classe
DettagliRiassunto. Rassegna API - 1. Scaletta. Package. package. import. Stefano Mizzaro 1. Programmazione strutturata TDA OO. OO in Java
Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 21 1 febbraio 2006
DettagliProgrammazione 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
DettagliLa classe Object. L2-Linguaggi di Programmazione II-unina 1
La classe Object L2-Linguaggi di Programmazione II-unina 1 JAVA è dotata di una classe speciale, una classe cosmica, denominata Object Qualsiasi altra classe deriva da Object Object Una variabile di tipo
DettagliIl Pattern PROXY. Ex presentazione realizzata dallo studente Paolo Melchiori (matricola 65734) nell a.a. 2007-2008
UNIVERSITÀ DEGLI STUDI DI BRESCIA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI ELETTRONICA PER L'AUTOMAZIONE Il Pattern PROXY Ex presentazione realizzata
DettagliGiuseppe Callegarin Java, Oggetti e Strutture Dati Cedam INDICE
Giuseppe Callegarin Java, Oggetti e Strutture Dati Cedam 2004 www.javaosd.org INDICE CAP. 1 Macchine, linguaggi e comunicazioni...1 1.1 Dai grandi elaboratori all era dei dispositivi programmabili e comunicanti...1
DettagliRichiami su oggetti e OOP
Richiami su oggetti e OOP Un oggetto (object) è una entità caratterizzata da una struttura dati alla quale si associa l insieme delle operazioni che è possibile compiere su di essa. Un oggetto può essere
DettagliProgettazione del Software
Progettazione del Software Simulazione di esame Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico 2015/2016
Dettagli03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016
03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016 Obiettivi dell esercitazione: Utilizzo del pattern MVC Utilizzo di HashSet Introduzione alla complessità ESERCIZIO 1
DettagliTest di unità con JUnit4
Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti 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
DettagliConcorrenza e sincronizzazione
Concorrenza e sincronizzazione Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Cosa faremo oggi 2 Concorrenza Sincronizzazione Concorrenza 3 Nei programmi Java fino ad ora sviluppati è presente
DettagliErrata Corrige di Manuale di Java 8
Errata Corrige di Manuale di Java 8 pag. 43 - par. 2.5.1 - primo riquadro che riporta linee di codice public class Punto { public Punto() //metodo costruttore { deve essere corretto come di seguito: public
DettagliIntroduzione Generics Iteratori. Collezioni in Java. Dr. Giulio Pellitta. 13 aprile 2011
13 aprile 2011 Cos è una collezione? Gerarchia delle collezioni Introduzione Una collezione è semplicemente un oggetto che raggruppa più oggetti (detti elementi della collezione) in una singola unità.
DettagliJavadoc: Documentazione semi-automatica
Javadoc: Documentazione semi-automatica Il sistema di documentazione di Java (Javadoc) permette di generare automaticamente un documentazione in formato HTML dei vostri programmi. Il trucco consiste nel
DettagliAttraversamento di un albero (binario)
Attraversamento di un albero (binario) 1) Preordine Algorithm binarypreorder( T, v) //caso di albero binario Visita il nodo v; binarypreorder( T, T.leftChild(v)); //Attraversamento ricorsivo sottoalbero
DettagliRiassunto. Rassegna API - 1. Scaletta. Package. package. import. Stefano Mizzaro 1. Programmazione strutturata TDA. OO in Java
Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 17 13 novembre 2013 Programmazione
DettagliEsempio: Costruttori ed ereditarietà
Esempio: 1 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il costruttore di default (quello senza parametri) Se in un costruttore
DettagliSTRUTTURE DATI: OLTRE GLI ARRAY LISTE
STRUTTURE DATI: OLTRE GLI ARRAY le strutture dati progettate per ospitare una collezione di elementi, sono variazioni di array Ma l'array ha dimensione fissa anche in Java determinata a priori, in linguaggi
Dettagli18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
Dettaglidesign pattern una soluzione progettuale generale a un problema ricorrente
DESIGN PATTERN DESIGN PATTERN Un design pattern può essere definito "una soluzione progettuale generale a un problema ricorrente". Esso non è una libreria o un componente di software riusabile, quanto
DettagliRiassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.
OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione,
Dettaglioggetti: Cenni generali Programmazione ad Ingegneria Informatica e dell'informazione Michelangelo Diligenti
Programmazione ad oggetti: Cenni generali Michelangelo Diligenti Ingegneria Informatica e dell'informazione diligmic@dii.unisi.it Argomenti Programmazione ad oggetti Motivazioni Classi Metodi e membri
DettagliUML 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
DettagliUno 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
DettagliProgrammazione Java Variabili membro, Metodi La parola chiave final
Programmazione Java Variabili membro, Metodi La parola chiave final Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Variabili membro»
DettagliDESIGN PATTERNS Parte 5. Facade Strategy Composite Interpreter
DESIGN PATTERNS Parte 5 Facade Strategy Composite Interpreter FACADE Per proteggere la nostra applicazione sfruttando il Protect Variation possiamo usare il pattern Facade. Questo pattern è ottimo per
DettagliImplementazione ADT: Alberi
Implementazione ADT: Alberi Livelli di astrazione 2001/2002 1 Esercitazione 5 (E6): alberi (tree) albero struttura dati fondamentale, soprattutto per le operazioni di ricerca tipi di albero con radice
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliProgrammazione II Compitino (Vers. B)
Programmazione II Compitino (Vers. B) 17 dicembre 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi
Dettaglisingoli campi la classe Constructor permette di creare nuovi oggetti.
RIFLESSIONE (reflection) Il supporto alla riflessione consente a un programma di ispezionarsi ed operare su se stesso. Tale supporto comrende: la classe Class nel package java.lang; l intero package java.lang.reflect
DettagliIl linguaggio C# Ereditarietà ed Interfacce
Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it
DettagliDESIGN 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
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliProgrammazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
DettagliJavadoc Terminology 25/11/2011
Javadoc Terminology API documentation (API docs) or API specifications (API specs) Descrizione On-line o stampata dell API, intended primarily for programmers writing in Java. Possono essere generate automaticamente
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliMultithreading in Java. Fondamenti di Sistemi Informativi 2014-2015
Multithreading in Java Fondamenti di Sistemi Informativi 2014-2015 Multithreading La programmazione concorrente consente di eseguire più processi o thread nello stesso momento. Nel secondo caso si parla
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliConsidera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del
DettagliMappare il DB senza XML. Introduzione alle annotation di Hibernate3
Introduzione alle annotation di Hibernate3 a cura di Lucio Benfante Hibernate Hibernate è un framework che realizza un object/relational mapping (ORM) fra oggetti Java e strutture di un database relazionale
DettagliINTRODUZIONE DESIGN PATTERN STRUTTURALI ADAPTER. INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Scopo dei design pattern strutturali
DESIGN PATTERN STRUTTURALI rcardin@math.unipd.it DESIGN PATTERN STRUTTURALI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2015
Dettagli03 Una Rapida Parentesi su Java 5 e Annotazioni (JSR-175)
Java 5 e Annotazioni Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2010/2011 Sistemi Distribuiti M 03 Una Rapida Parentesi su Java 5 e Annotazioni (JSR-175) Docente:
DettagliIl pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione
Il pattern Factory Il pattern FACTORY è un pattern di tipo Creazionale secondo la classificazione della GoF I pattern di tipo creazionali si occupano della costruzione degli oggetti e delle problematiche
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList Fondamenti di Informatica L-B 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito
DettagliAlcuni diagrammi. OCL (Object Constraint Language)
UML e Java UML Alcune discipline ingegneristiche dispongono di validi mezzi di rappresentazione (schemi, diagrammi di prestazioni e consumi,...) Il software non dispone ancora di tecniche efficaci per
DettagliUguaglianza e copia di oggetti
Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La
DettagliTIPI PRIMITIVI: LIMITI
TIPI PRIMITIVI: LIMITI I tipi primitivi sono i "mattoni elementari" del linguaggio In varie situazioni può però essere necessario trattare i tipi primitivi come oggetti quando una funzione pretende come
DettagliWeb Services in Eclipse. Sistemi Informativi Aziendali A.A. 2011/2012
Web Services in Eclipse Outline Apache Axis Web Service Clients Creating Web Services 2 Creating Web Services Web Services in Eclipse At the core of a web service The methods of any(*) Java class may be
DettagliModelli e strumenti per la generazione automatica di codice
tesi di laurea Anno Accademico 2005-2006 relatore Ch.mo prof. Porfirio Tramontana candidato Valerio Lombardi Matr. 534/237 Contesto e Contributo Fusione tra il mondo della modellazione e della programmazione
DettagliFondamenti di Informatica I
Sapienza Università di Roma, Facoltà di Ingegneria Corso di Fondamenti di Informatica I Canale 1 (A-K) Anno Accademico 2009-2010 Corso di Laurea in Ingegneria Informatica Docente: Camil Demetrescu Esercitatore:
DettagliIl pattern ABSTRACT FACTORY
Il pattern ABSTRACT FACTORY Abstract Factory L intento è quello di fornire una interfaccia per creare famiglie di oggetti in relazione o dipendenti tra loro, senza dovere specificare le loro classi concrete.
DettagliProgrammazione ad oggetti: Cenni generali
Programmazione ad oggetti: Cenni generali Michelangelo Diligenti Ingegneria Informatica e dell'informazione diligmic@diism.unisi.it Argomenti Programmazione ad oggetti Motivazioni Classi Metodi e membri
DettagliJava. Ereditarieta RIUSO DEL CODICE
Java Ereditarieta RIUSO DEL CODICE Durante lo sviluppo di codice frequentemente i programmatori sviluppano codice molto simile a codice gia esistente Questo, spesso, viene fatto manipolando il codice esistente
DettagliDESIGN PATTERNS Parte 4. Product Trader Service Manager Type Object Manager Adapter
DESIGN PATTERNS Parte 4 Product Trader Service Manager Type Object Manager Adapter PRODUCT TRADER Il Product Trader è un design pattern per la gestione delle estensioni in modo componibile, ovvero a plug-in.
DettagliTipi di Dati Astratti
Tipi di Dati Astratti April 19, 2017 Dati e Tipi di Dato Tipo di dato: concetto di alto livello Macchina fisica: unico tipo di dato sequenze di bit Macchine Astratte: tipi di dato più complessi Tipo di
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO
DettagliIntroduzione a Java. Jacopo Torrini. Dipartimento di Sistemi e Informatica Laboratorio di Tecnologie del Software. torrini@dsi.unifi.
Introduzione a Java Jacopo Torrini Dipartimento di Sistemi e Informatica Laboratorio di Tecnologie del Software torrini@dsi.unifi.it Introduzione Il linguaggio Java è un linguaggio di alto livello con
DettagliProblema: un astrazione può avere una implementazione tra tante diverse fra loro
Bridge Problema: un astrazione può avere una implementazione tra tante diverse fra loro Tipica soluzione: ereditarietà Una classe astratta definisce l interfaccia dell astrazione e le sottoclassi realizzano
DettagliPolimorfismo parametrico vs polimorfismo per inclusione
Polimorfismo parametrico vs polimorfismo per inclusione Esercizio Definire il tipo di dato Stack con operazioni Push( element ) Pop() Non forzare una specifica implementazione Non forzare un tipo specifico
DettagliTIPI PRIMITIVI E CLASSI WRAPPER
I tipi primitivi come oggetti Package java.lang In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti per passarli per riferimento a una funzione quando una funzione pretende
DettagliLa programmazione ad oggetti (OOP)
Oggetti e Classi (CAP 10) Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Novembre 2011 La programmazione ad oggetti (OOP) È un approccio concettuale alla programmazione (indipendente
DettagliBreve introduzione al Javadoc
Premessa Javadoc è uno strumento che permette di documentare i sorgenti di un programma all interno dei sorgenti stessi. Anziché scrivere la documentazione di un programma in un file separato, il programmatore
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList! Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
Dettagli