Ereditarietà e classi astratte

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ereditarietà e classi astratte"

Transcript

1 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. La gerarchia dei componenti Swing 7. La gerarchia delle forme geometriche standard 8. La gerarchia di classi per le eccezioni 9. Quando non va usata l ereditarietà In questo capitolo presentiamo un importante relazione tra classi: l ereditarietà. Si dice che una classe eredita da un altra classe se ne descrive un sottoinsieme specializzato di oggetti. Ad esempio, una classe Manager può ereditare da una classe Employee: tutti i metodi applicabili ai dipendenti si applicano anche ai dirigenti, ma i dirigenti sono maggiormente specifici, perché hanno metodi che non sono applicabili, in generale, a tutti i dipendenti. Ad esempio, i dirigenti possono beneficiare di premi di cui i normali dipendenti non godono. Partiamo da un esempio molto semplice per mettere in evidenza i meccanismi tipici dell ereditarietà, poi continuiamo con una serie di interessanti programmi grafici che illustrano tecniche più avanzate; infine, analizziamo come viene utilizzata l ereditarietà nella libreria di Java.

2 242 CAPITOLO 6 Le sottoclassi specializzate ereditano dalle superclassi, che rappresentano concetti più generici. Una sottoclasse può definire ulteriori metodi e campi. 6.1 Il concetto di ereditarietà Usare l ereditarietà per rendere più specifico un modello Si usa l ereditarietà per costruire un modello di una relazione fra classi in cui una classe rappresenta un concetto più generico, mentre un altra classe rappresenta un concetto più specifico. Ad esempio, considerate una classe Manager che erediti dalla classe Employee: siamo di fronte a un lecito utilizzo dell ereditarietà, perché i dirigenti sono speciali tipi di dipendenti. Ogni dirigente è anche un dipendente, ma non tutti i dipendenti sono anche dirigenti. La classe più generica viene chiamata superclasse, mentre quella più specializzata viene chiamata sottoclasse. In generale, la sottoclasse estende le funzionalità della superclasse e gli oggetti della sottoclasse specializzata possono essere dotati di ulteriori metodi e campi. Considerate questa semplice classe Employee: public class Employee public Employee(String aname) name = aname; public void setsalary(double asalary) salary = asalary; public String getname() return name; public double getsalary() return salary; private String name; private double salary; Le sottoclassi possono sovrascrivere (cioè ridefinire) metodi, fornendo una nuova definizione per un metodo presente anche nella superclasse. Le sottoclassi ereditano i metodi della superclasse. Ecco, invece, una classe Manager che aggiunge un nuovo metodo e un nuovo campo. La sottoclasse sovrascrive (cioè ridefinisce) anche un metodo esistente nella superclasse, fornendone una nuova definizione: la versione del metodo getsalary presente in Manager calcolerà la somma del salario di base e dei premi. public class Manager extends Employee public Manager(String aname) public void setbonus(double abonus) bonus = abonus; // nuovo metodo public double getsalary() // sovrascrive il metodo omonimo presente in Employee private double bonus; // nuovo campo Notate che Java usa la parola chiave extends per indicare l ereditarietà; nel seguito del capitolo troverete il codice per il costruttore di Manager e per il suo metodo getsalary. La Figura 6.1 mostra il diagramma delle classi. Quando si definisce una classe che eredita da una superclasse, bisogna dichiarare soltanto ciò che nella sottoclasse è diverso rispetto alla superclasse. Una sottoclasse eredita automaticamente tutte le caratteristiche della propria superclasse, a meno che la sottoclasse stessa non le sovrascriva.

3 EREDITARIETÀ E CLASSI ASTRATTE 243 Figura 6.1 La classe Manager eredita dalla classe Employee Nell esempio che abbiamo visto, la sottoclasse Manager ha i metodi e i campi seguenti: I metodi setsalary e getname (ereditati da Employee) Un metodo getsalary (sovrascritto in Manager) Un metodo setbonus (definito in Manager) I campi name e salary (ereditati da Employee) Un campo bonus (definito in Manager) Nota Se un metodo viene contrassegnato dalla parola chiave final non può essere sovrascritto in una sottoclasse: una proprietà utile per metodi di particolare importanza, come, ad esempio, le verifiche relative alla sicurezza. Si può anche definire un intera classe come final: una classe final non può essere estesa. Ad esempio, la classe String è una classe final I termini superclasse e sottoclasse Si può restare inizialmente perplessi di fronte ai termini sottoclasse e superclasse usati nell ereditarietà: non è forse vero che un dirigente è, in qualche modo, superiore a un dipendente generico? Dopo tutto, ogni oggetto di tipo Manager contiene tutti i campi di un oggetto di tipo Employee. Perché mai Manager viene definita sottoclasse, mentre Employee ne è la superclasse?

4 244 CAPITOLO 6 Figura 6.2 L insieme dei dirigenti è un sottoinsieme dell insieme dei dipendenti Gli esemplari delle sottoclassi costituiscono un sottoinsieme all interno dell insieme degli esemplari della superclasse. Questa terminologia dovrebbe risultare assai più chiara pensando a una classe come all insieme dei suoi esemplari. L insieme dei dirigenti è un sottoinsieme dell insieme dei dipendenti, come si vede in Figura 6.2. Insiemi di classi possono costituire complesse gerarchie di ereditarietà. Secondo il principio di sostituzione di Liskov, si può usare un esemplare di una sottoclasse ogni volta che si dovrebbe usare un esemplare di una superclasse Gerarchie di ereditarietà Nel mondo reale i concetti vengono spesso catalogati mediante gerarchie, che vengono solitamente rappresentate mediante alberi, con i concetti più generali nella radice della gerarchia e quelli più specifici verso i rami e le foglie. Nella progettazione orientata agli oggetti, analogamente, si è soliti raggruppare le classi in complesse gerarchie di ereditarietà. La Figura 6.3 mostra una parte di una gerarchia di classi che rappresentano diverse tipologie di dipendenti. Alla radice della gerarchia viene posta la classe Object, perché in Java tutte le classi estendono tale classe, come vedrete meglio nel Capitolo 7. Durante la progettazione di una gerarchia di classi, vi chiederete quali siano le caratteristiche comuni a tutte le classi che state progettando: tali proprietà comuni vanno raccolte in superclassi poste alla base della gerarchia. Ad esempio, tutti i dipendenti hanno un nome e un salario. Le proprietà più specifiche, invece, trovano posto solamente nelle sottoclassi: nel nostro modello, ad esempio, soltanto i dirigenti ricevono premi di produzione. Nel seguito del capitolo analizzeremo diverse gerarchie di classi fondamentali che si trovano nella libreria di Java Il principio di sostituzione Dal momento che una sottoclasse eredita il comportamento della propria superclasse, potete sempre sostituire un esemplare di una superclasse con un esemplare di una sottoclasse: tale regola viene chiamata principio di sostituzione di Liskov, dal nome di Barbara Liskov, docente al MIT e tra le prime ricercatrici a occuparsi di programmazione orientata agli oggetti.

5 EREDITARIETÀ E CLASSI ASTRATTE 245 Figura 6.3 Una gerarchia di classi di dipendenti Considerate, ad esempio, le istruzioni che seguono: Employee e; System.out.println( name= + e.getname()); System.out.println( salary= + e.getsalary()); Il principio di sostituzione di Liskov asserisce che le istruzioni funzionanoaltrettanto bene fornendo un esemplare di Manager nel punto in cui è prevista la presenza di un esemplare di Employee. e = new Manager( Bernie Ebbers ); Esaminiamo ora le singole invocazioni. L invocazione e.getname(); non pone problemi, perché la classe Manager eredita il metodo getname dalla classe Employee. Invece, l invocazione e.getsalary();

6 246 CAPITOLO 6 è più interessante, perché ci sono due versioni del metodo getsalary, una definita nella classe Employee e un altra definita nella classe Manager. Come avete già visto nel Capitolo 4, la macchina virtuale Java esegue automaticamente la corretta versione del metodo, in relazione al tipo di oggetto a cui si riferisce la variabile e: se e contiene un riferimento a un esemplare di Manager, viene invocata la versione del metodo getsalary definita nella classe Manager. Ricordate che questo fenomeno viene chiamato polimorfismo Invocazione di metodi della superclasse Realizziamo ora il metodo getsalary della classe Manager, in modo che restituisca la somma tra il salario base e il premio. public class Manager extends Employee public double getsalary() return salary + bonus; // ERRORE campo privato Una sottoclasse non ha accesso alle caratteristiche private della propria superclasse. Abbiamo però un problema: il campo salary è un campo privato della classe Employee e i metodi della classe Manager non hanno diritto di accesso a tale campo. Una sottoclasse deve seguire le stesse regole valide per qualsiasi altra classe: deve quindi usare il metodo pubblico getsalary. public double getsalary() return getsalary() + bonus; // ERRORE invocazione ricorsiva Per invocare un metodo della superclasse si usa la parola chiave super. Ora, sfortunatamente, abbiamo un nuovo e diverso problema: se invocate getsalary all interno di un metodo che si chiama anch esso getsalary, il metodo invoca se stesso. Se, invece, volete invocare il metodo della superclasse per recuperare il valore del salario da dipendente, dovete usare la parola chiave super, in modo da esprimere chiaramente tale vostra intenzione. public double getsalary() return super.getsalary() + bonus; Notate che super non è una variabile e, in particolare, non è simile alla variabile this. Naturalmente, se aveste invocato this.getsalary();

7 EREDITARIETÀ E CLASSI ASTRATTE 247 allora la versione del metodo getsalary di Manager avrebbe invocato se stessa, dando luogo a una sequenza infinita di invocazioni. Notate anche che non si può banalmente convertire il riferimento this al tipo della superclasse. Considerate questo tentativo: Employee superthis = this; return superthis.getsalary() + bonus; L invocazione superthis.getsalary chiama in causa di nuovo il metodo della classe Manager! Si tratta dell effetto classico del polimorfismo: ciò che determina quale metodo venga chiamato è il tipo effettivo dell oggetto a cui si riferisce la variabile e non il tipo dichiarato per la variabile stessa. Dato che l oggetto a cui si riferisce superthis è di tipo Manager, viene invocato il metodo getsalary della classe Manager. La parola chiave super surclassa il meccanismo di invocazione polimorfica e provoca forzatamente l invocazione del metodo della superclasse. Per invocare un costruttore della superclasse si usa la parola chiave super come prima istruzione all interno del costruttore della sottoclasse. Suggerimento Come avete già visto, le sottoclassi non hanno diritto di accesso alle caratteristiche private della propria superclasse. A volte i principianti tentano di risolvere questo problema ridefinendo i campi all interno della sottoclasse, in questo modo: public class Manager extends Employee private double salary; // ERRORE campo duplicato A questo punto un oggetto di tipo Manager ha due campi di nome salary! Uno di essi viene gestito dai metodi di Employee e l altro dai metodi di Manager. Evitate con grande attenzione questo errore abbastanza frequente Invocazione di costruttori della superclasse Per portare a termine la realizzazione della classe Manager, dobbiamo fornire il codice del suo costruttore. Tale costruttore riceve una stringa che contiene il nome del dirigente: come abbiamo già detto, non si può semplicemente impostare il campo name al valore di tale parametro, perché tale campo è un campo privato della classe Employee. Bisogna, invece, invocare il costruttore di Employee e, anche in questo caso, si usa la parola chiave super: public Manager(String aname) super(aname); // invoca il costruttore della superclasse bonus = 0;

8 248 CAPITOLO 6 Se un costruttore di una sottoclasse non invoca un costruttore della superclasse, viene automaticamente invocato il costruttore della superclasse privo di parametri. L invocazione del costruttore della superclasse deve essere il primo enunciato del costruttore della sottoclasse. Se la superclasse ha un costruttore senza parametri, allora il costruttore di una sottoclasse non deve obbligatoriamente invocare un costruttore della superclasse: in mancanza di tale invocazione, viene automaticamente invocato il costruttore della superclasse privo di parametri. Ad esempio, nel seguito di questo capitolo definiremo sottoclassi di JPanel e di JFrame: dato che tali classi hanno costruttori privi di parametri, i costruttori delle sottoclassi non hanno bisogno di invocare super. Se, invece, tutti i costruttori della superclasse richiedono parametri, allora la sottoclasse deve invocare super, altrimenti il compilatore segnalerà un errore. Un metodo sovrascritto in una sottoclasse può soltanto imporre una pre-condizione che sia al massimo restrittiva quanto quella imposta dal metodo che sovrascrive Pre-condizioni e post-condizioni dei metodi ereditati Ricordate, dal Capitolo 3, che una pre-condizione di un metodo è una condizione che deve essere vera prima che venga invocato il metodo e chi invoca il metodo ha la responsabilità di effettuare l invocazione soltanto quando la pre-condizione sia verificata. Quando una sottoclasse sovrascrive un metodo, la relativa pre-condizione non può essere più restrittiva della pre-condizione del metodo della superclasse che viene sovrascritto. Ad esempio, imponiamo una pre-condizione ragionevole per il metodo setsalary della classe Employee: il salario deve essere un valore positivo. public class Employee /** Imposta il salario del dipendente al valore asalary il nuovo asalary > 0 */ public void setsalary(double asalary) Prendiamo ora in considerazione la sottoclasse Manager: è possibile che nella classe Manager venga imposta al metodo setsalary una pre-condizione che imponga al salario di essere sempre non inferiore a $ ? No, perché la pre-condizione di un metodo di sottoclasse non può essere più restrittiva della pre-condizione presente nel metodo della superclasse che viene sovrascritto. Per capire il motivo di questa regola, considerate questi enunciati. Employee e = ; e.setsalary(50000); Questo codice potrebbe sembrare corretto, dal momento che il parametro del metodo è maggiore di zero, così soddisfacendo la pre-condizione del metodo della classe Employee. Tuttavia, se e facesse riferimento a un oggetto di tipo Manager, verrebbe vio-

9 EREDITARIETÀ E CLASSI ASTRATTE 249 Un metodo sovrascritto in una sottoclasse deve garantire una post-condizione che sia almeno ampia quanto quella imposta dal metodo che sovrascrive. lata la pre-condizione che impone al salario di non essere inferiore a $100000: ciò è in aperta contraddizione con il concetto, che abbiamo precedentemente esposto, secondo il quale le pre-condizioni devono sempre essere verificabili dal programmatore che si accinge a effettuare l invocazione di un metodo. Per riassumere, quindi: quando una sottoclasse sovrascrive un metodo, la sua precondizione può essere al massimo tanto restrittiva quanto la pre-condizione del metodo della superclasse. In particolare, se un metodo di una superclasse non ha pre-condizioni, nemmeno il metodo della sottoclasse può avere pre-condizioni. Di converso, quando una sottoclasse sovrascrive un metodo, la sua post-condizione deve essere almeno tanto ampia quanto la post-condizione del metodo della superclasse. Ad esempio, supponiamo che Employee.setSalary garantisca di non diminuire il salario di un dipendente: di conseguenza, tutti i metodi che sovrascrivono setsalary devono fornire la medesima garanzia, oppure una più ampia. Nota Avete appena visto che le pre-condizioni di metodi di una sottoclasse non possono essere più restrittive delle pre-condizioni dei metodi della superclasse che vengono sovrascritti: per un certo numero di altre condizioni si possono fare i medesimi ragionamenti. In particolare: Quando sovrascrivete un metodo, non potete renderlo meno accessibile. Quando sovrascrivete un metodo, non potete lanciare eccezioni a gestione obbligatoria che non siano già dichiarate nel metodo della superclasse che viene sovrascritto. 6.2 Programmazione grafica con ereditarietà Progettare sottoclassi della classe JPanel In questa sezione vedrete l ereditarietà applicata a situazioni pratiche di programmazione. Nel Capitolo 4 avete visto come disegnare forme grafiche usando classi che realizzano l interfaccia Icon. public class MyIcon implements Icon public void painticon(component c, Graphics g, int x, int y) qui si inseriscono le istruzioni che disegnano

10 250 CAPITOLO 6 Per disegnare forme grafiche si possono progettare sottoclassi di JPanel, sovrascrivendone il metodo paintcomponent. Una diversa tecnica, molto usata, consiste nella definizione di una sottoclasse di un componente quale JPanel, ridefinendone il metodo paintcomponent in questo modo: public class MyPanel extends JPanel public void paintcomponent(graphics g) qui si inseriscono le istruzioni che disegnano Questo approccio presenta un vantaggio: la classe JPanel ha un vasto insieme di caratteristiche e comportamenti che vengono così ereditati. Ad esempio, potete associare al pannello un ascoltatore di eventi del mouse e ricevere le corrispondenti notifiche quando l utente preme il pulsante del mouse trovandosi sul pannello stesso. Quella appena evidenziata è una differenza importante che si ha quando si estende una classe, piuttosto che realizzare un interfaccia. Quando realizzate un interfaccia, partite dal nulla: l interfaccia vi fornisce solamente i nomi e le firme dei metodi che dovete realizzare; quando, invece, estendete una classe, ereditate tutte le caratteristiche offerte dalla superclasse. Svilupperemo ora un programma che consenta a un utente di spostare la sagoma di un automobile trascinandola col mouse e, nelle sezioni successive, tale programma verrà migliorato visualizzando un ambientazione contenente forme geometriche arbitrarie. La classe CarPanel memorizza un riferimento a una sagoma di automobile e il suo metodo paintcomponent disegna tale sagoma: public class CarPanel extends JPanel public void paintcomponent(graphics g) // metodo incompleto Graphics2D g2 = (Graphics2D) g; car.draw(g2); private CarShape car; Il metodo paintcomponent di una sottoclasse di JPanel deve invocare il metodo della propria superclasse perché quest ultimo cancelli lo sfondo del pannello. Questo metodo paintcomponent ha, però, un problema: se un esemplare di CarPanel viene aggiunto a un frame e tale frame viene visualizzato, allora tutto sembra a posto e l automobile viene disegnata, ma se a questo punto si sposta un altra finestra al di sopra della finestra del nostro programma, ciò che viene visualizzato appare confuso, come si vede in Figura 6.4. Il problema del nostro codice grafico consiste nella mancata cancellazione di quanto contenuto in precedenza nel pannello: ciò è compito del metodo paintcomponent della superclasse JPanel, che dobbiamo invocare prima di compiere nuove operazioni grafiche:

11 EREDITARIETÀ E CLASSI ASTRATTE 251 Figura 6.4 Un pannello con visualizzazione confusa public void paintcomponent(graphics g) super.paintcomponent(g); Dopo aver aggiunto l invocazione di super.paintcomponent, il pannello viene ridisegnato correttamente. Per avere notizia degli eventi relativi al mouse, si associano a un componente un ascoltatore di eventi del mouse e un ascoltatore di eventi di movimento del mouse Interfaccia per ascoltatori di eventi e classi adattatrici Per completare il programma che disegna automobili dobbiamo aggiungere gestori di eventi del mouse. Quando l utente preme il pulsante del mouse, vogliamo verificare se il puntatore del mouse si trova all interno della sagoma dell automobile, perché soltanto in tal caso inizieremo il processo di trascinamento della sagoma, inseguendo la posizione del mouse finché l utente tiene premuto il pulsante. Per abilitare il tracciamento degli eventi del mouse, si associa un opportuno ascoltatore al pannello; in realtà esistono due tipi di tali ascoltatori, uno per le pressioni dei pulsanti del mouse e uno per i movimenti del mouse stesso. Tali due tipi di eventi vengono distinti perché porsi in ascolto degli eventi di movimento del mouse è molto dispendioso: gli utenti dei programmi spostano il mouse molto frequentemente, provocando moltissime invocazioni degli ascoltatori dei relativi eventi: se una procedura è interessata ai soli eventi di pressione di un pulsante del mouse, è preferibile che non usi anche un ascoltatore per gli eventi di movimento del mouse stesso.

12 252 CAPITOLO 6 Ecco le interfacce di cui stiamo parlando: public interface MouseListener void mouseclicked(mouseevent event); void mousepressed(mouseevent event); void mousereleased(mouseevent event); void mouseentered(mouseevent event); void mouseexited(mouseevent event); public interface MouseMotionListener void mousemoved(mouseevent event); void mousedragged(mouseevent event); Le interfacce per ascoltatori di eventi aventi molti metodi hanno corrispondenti classi adattatrici dotate di metodi che non fanno nulla: invece di realizzare direttamente le interfacce, estendete gli adattatori. Le interfacce MouseListener e MouseMotionListener hanno, entrambe, parecchi metodi, anche se di solito un ascoltatore di eventi vuole compiere un azione significativa soltanto in corrispondenza di uno o due di tali eventi. Per semplificare la realizzazione degli ascoltatori, un anima generosa ha progettato due classi, MouseAdapter e Mouse- MotionAdapter, che realizzano tutti i metodi dei relativi ascoltatori in modo che non compiano alcuna azione. Ecco, ad esempio, il codice della classe MouseAdapter: public class MouseAdapter implements MouseListener public void mouseclicked(mouseevent event) public void mousepressed(mouseevent event) public void mousereleased(mouseevent event) public void mouseentered(mouseevent event) public void mouseexited(mouseevent event) Per definire un vostro ascoltatore di eventi, potete semplicemente estendere queste classi adattatrici e sovrascrivere solamente i metodi che vi interessano. Ad esempio, l ascoltatore di eventi del mouse per la classe CarPanel è interessato alle sole invocazioni di mousepressed e non agli altri quattro metodi dell interfaccia MouseListener. Suggerimento Se la maggior parte delle sottoclassi può usare una versione comune di un metodo, mentre soltanto alcune necessitano di una versione diversa, spostate nella superclasse il metodo più diffuso. Le poche sottoclassi che hanno bisogno di una diversa versione del metodo lo possono sovrascrivere, mentre tutte le altre sottoclassi non dovranno far nulla.

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

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

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

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

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

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

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

Versione 7.0 Taglie e Colori. Negozio Facile

Versione 7.0 Taglie e Colori. Negozio Facile Versione 7.0 Taglie e Colori Negozio Facile Negozio Facile: Gestione taglie e colori Il concetto di base dal quale siamo partiti è che ogni variante taglia/colore sia un articolo a se stante. Partendo

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Gestione degli eventi in Java

Gestione degli eventi in Java Gestione degli eventi in Java package java.awt.event.* Il modello degli eventi I componenti dell awt generano eventi in seguito alle azioni dell utente movimento del mouse click pressione di un tasto etc.

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

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

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

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

Uso dei modelli/template

Uso dei modelli/template Uso dei modelli/template Il modello (o template, in inglese) non è altro che un normale file di disegno, generalmente vuoto, cioè senza alcuna geometria disegnata al suo interno, salvato con l estensione.dwt.

Dettagli

Gestione Rapporti (Calcolo Aree)

Gestione Rapporti (Calcolo Aree) Gestione Rapporti (Calcolo Aree) L interfaccia dello strumento generale «Gestione Rapporti»...3 Accedere all interfaccia (toolbar)...3 Comandi associati alle icone della toolbar...4 La finestra di dialogo

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Thread versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

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

L interfaccia grafica in Java

L interfaccia grafica in Java L interfaccia grafica in Java Java possiede due package per la creazione di interfacce grafiche java.awt javax.swing AWT (Abstract Widget Toolkit) presente già in Java 1.0, migliorato in Java 1.1. Invariato

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

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

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

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

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

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

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1).

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1). La barra multifunzione La barra multifunzione e il pulsante Microsoft Office Se avete lavorato per tanti anni con la suite da ufficio Office, questa nuova versione 2007 può disorientarvi davvero molto.

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Un negozio di musica vende anche libri e riviste musicali. Si intende automatizzare l intero processo, dall approvvigionamento alla vendita. Si analizzino i requisiti e se ne rappresentino

Dettagli

Office 2007 Lezione 07. Gestione delle immagini

Office 2007 Lezione 07. Gestione delle immagini Le immagini Gestione delle immagini Office 2007 presenta molte interessanti novità anche nella gestione delle immagini. Le immagini si gestiscono in modo identico in Word, Excel e PowerPoint. Naturalmente

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

Traccia di soluzione dell esercizio del 25/1/2005

Traccia di soluzione dell esercizio del 25/1/2005 Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello

Dettagli

Grafico della parabola

Grafico della parabola Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un

Dettagli

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL 1 RAPPRESENTAZIONE GRAFICA Per l analisi dati con Excel si fa riferimento alla versione 2007 di Office, le versioni successive non differiscono

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Amministrazione classi

Amministrazione classi Amministrazione classi Guida breve per il docente che amministra la classe Premessa Le classi vengono creata solo dall amministratore della Scuola. Il docente che è stato inserito nella classe come moderatore

Dettagli

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole

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

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Amministrazione gruppi (all interno della Scuola)

Amministrazione gruppi (all interno della Scuola) Amministrazione gruppi (all interno della Scuola) Guida breve per il docente che amministra il gruppo Premessa Il gruppo viene creato solo dall amministratore della Scuola. Il docente che è stato inserito

Dettagli

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra 4.5 Stampa 4.5.1 Stampare semplici fogli elettronici 4.5.1.1 Usare le opzioni di base della stampa Per effettuare la stampa di una cartella di lavoro si accede al comando Stampa dal menu File o si utilizza

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

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

IL MIO PRIMO SITO: NEWS

IL MIO PRIMO SITO: NEWS Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un

Dettagli

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004 MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004 PRELIMINARE - Avete digitato la password che Vi è stata attribuita e siete entrati nell area riservata all AMMINISTRAZIONE del Vostro

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA Biblioteca di Cervia NOZIONI BASE DI INFORMATICA NOZIONI DI INFORMATICA Il PC è composto solitamente di tre parti principali: - Il Case, ovvero il contenitore del cuore del computer, da qui si accende

Dettagli

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO 1 - INTRODUZIONE Scopo del presente documento è descrivere le procedure attuabili per la firma dei PIP presentati nei bandi apprendistato

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

Office 2007 Lezione 08

Office 2007 Lezione 08 Word: gli stili veloci e i temi Da questa lezione, iniziamo ad occuparci delle innovazioni che riguardano specificamente Word. Cominceremo parlando di stili e temi. Nella filosofia di questo nuovo Word,

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

Capitolo II. La forma del valore. 7. La duplice forma in cui si presenta la merce: naturale e di valore.

Capitolo II. La forma del valore. 7. La duplice forma in cui si presenta la merce: naturale e di valore. Capitolo II La forma del valore 7. La duplice forma in cui si presenta la merce: naturale e di valore. I beni nascono come valori d uso: nel loro divenire merci acquisiscono anche un valore (di scambio).

Dettagli

La grafica con Word. La parte evidenziata è una Riga. La parte evidenziata è una Colonna. La parte evidenziata è una Cella

La grafica con Word. La parte evidenziata è una Riga. La parte evidenziata è una Colonna. La parte evidenziata è una Cella 9 La grafica con Word Lezione 09 Word non è un programma di grafica e, pertanto, non può sostituire i programmi che sono abilitati alle realizzazioni grafiche. Nonostante tutto, però, la grafica in Word

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Si consideri la realizzazione di un semplice programma grafico per il disegno di figure geometriche in due dimensioni. Si analizzino i requisiti e se ne rappresentino i risultati in UML

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Guida Joomla. di: Alessandro Rossi, Flavio Copes Guida Joomla di: Alessandro Rossi, Flavio Copes Grafica e template 1. 15. La grafica e i template Personalizzare l'aspetto del sito aggiungendo nuovi template e customizzandoli 2. 16. Personalizzare il

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

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

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

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE La Gestione degli Eventi Ogni oggetto grafico è predisposto ad essere sollecitato in qualche modo dall utente (per esempio un pulsante può essere premuto).

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

PROCESSO DI INDICIZZAZIONE SEMANTICA

PROCESSO DI INDICIZZAZIONE SEMANTICA PROCESSO DI INDICIZZAZIONE SEMANTICA INDIVIDUAZIONE DEI TEMI/CONCETTI SELEZIONE DEI TEMI/CONCETTI ESPRESSIONE DEI CONCETTI NEL LINGUAGGIO DI INDICIZZAZIONE TIPI DI INDICIZZAZIONE SOMMARIZZAZIONE INDICIZZAZIONE

Dettagli

L analisi dei dati. Capitolo 4. 4.1 Il foglio elettronico

L analisi dei dati. Capitolo 4. 4.1 Il foglio elettronico Capitolo 4 4.1 Il foglio elettronico Le più importanti operazioni richieste dall analisi matematica dei dati sperimentali possono essere agevolmente portate a termine da un comune foglio elettronico. Prenderemo

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Leggere un messaggio. Copyright 2009 Apogeo

Leggere un messaggio. Copyright 2009 Apogeo 463 Leggere un messaggio SyllabuS 7.6.3.3 Per contrassegnare un messaggio selezionato puoi fare clic anche sulla voce di menu Messaggio > Contrassegna messaggio. Marcare, smarcare un messaggio I messaggi

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

GateManager. 1 Indice. tecnico@gate-manager.it

GateManager. 1 Indice. tecnico@gate-manager.it 1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

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

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

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

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Amministrazione gruppi (Comunità)

Amministrazione gruppi (Comunità) Amministrazione gruppi (Comunità) Guida breve per il docente che amministra il gruppo Premessa Di regola i gruppi sono creati all interno della Scuola. Nel caso in cui vi fosse la necessità di aprire un

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

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Supermarket Progetto di Programmazione Febbraio 2010

Supermarket Progetto di Programmazione Febbraio 2010 Supermarket Progetto di Programmazione Febbraio 2010 1 Supermercato Dovete realizzare un insieme di classi e interfacce che riguardano la gestione di un supermercato. nella Sezione 2 verranno descritte

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI Pagina 1 UN SISTEMA DI NEWS Sommario UN SISTEMA DI NEWS...1 Introduzione...2 Scelgo l'area su cui operare...3 Un minimo di teoria...3 Creo le Pagine...4 Definizione dello Schedario Novità...6 Compilo la

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it Pagina 1 di 6 Joomla! 2.5:Utenti e permessi Da Il wiki di Joomla.it. Traduzione (http://cocoate.com/it/j25it/utenti) dal libro Joomla! 2.5 - Beginner's Guide (http://cocoate.com/j25/users-permissions)

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

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

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia Utilizzo del Forum NEWS Il forum news è stato pensato per dare ad ogni associazione la possibilità di pubblicare una pagina di novità all intero del proprio sito (scheda o pagina autocomposta). E la sezione

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

MANUALE UTENTE Profilo Azienda Partecipata. APPLICATIVO CAFWeb

MANUALE UTENTE Profilo Azienda Partecipata. APPLICATIVO CAFWeb MANUALE UTENTE Profilo Azienda Partecipata APPLICATIVO CAFWeb CAF_ManualeUtente_Partecipate_2.0.doc Pag. 1 di 17 Sommario 1 GENERALITÀ... 3 1.1 Scopo... 3 1.2 Validità... 3 1.3 Riferimenti... 3 1.4 Definizioni

Dettagli

1. ACCESSO AL DATABASE

1. ACCESSO AL DATABASE 1. ACCESSO AL DATABASE Nel momento in cui decidete di inserire sul portale informatico i dati dei rapporti di controllo redatti dai vostri tecnici, dopo aver inviato via mail o via fax il modulo compilato

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

Equilibrio bayesiano perfetto. Giochi di segnalazione

Equilibrio bayesiano perfetto. Giochi di segnalazione Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi

Dettagli

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31

Dettagli

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo - la durata del mutuo in anni - l importo del mutuo

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

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

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Dettagli