JAVA in ACTION. Jacopo Torrini. Dipartimento di Ingegneria dell'informazione Laboratorio di Tecnologie del Software.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "JAVA in ACTION. Jacopo Torrini. Dipartimento di Ingegneria dell'informazione Laboratorio di Tecnologie del Software. jacopo.torrini@jaewa."

Transcript

1 JAVA in ACTION Jacopo Torrini Dipartimento di Ingegneria dell'informazione Laboratorio di Tecnologie del Software

2 Installazione Java Su Windows, dal sito Oracle installare l'ultima versione della JDK (7) Su ubuntu aggiungere i repo webupd8team sudo add-apt-repository ppa:webupd8team/java sudo apt-get install oracle-jdk7-installer oppure installare il.run per linux dal sito Oracle

3 Hello World Creare un file HelloWorldApp.java class HelloWorldApp { public static void main(string[] args) { System.out.println("Hello World!"); } }

4 Compilare ed eseguire Da riga di comando: javac HelloWorldApp.java java HelloWorldApp

5 Package Permette di definire un namespace per un set di classi tra loro correlate Permette di organizzare meglio il codice tramite una struttura gerarchica di cartelle Permette di avere classi differenti con lo stesso nome dentro package diversi. Risolve soprattutto conflitti di nome su librerie differenti. Permette di definire un accesso limitato a metodi o attributi di una classe alle sole classi dello stesso package

6 Struttura dei package Il package deve contenere uno o più classi o interfacce, ossia non può essere vuoto. Le classi o interfacce che sono in un package devono avere i file sorgenti nella stessa struttura di directory corrispondente al nome del package. Il nome del package viene costruito a partire dal path nel file system del package root (o default) utilizzando come separatore il.

7 Esempio di package Considerando come root package la cartella src la classe MyClass appartiene al package com.mycompany.myproject I.class generati dal compilatore hanno una struttura del tutto equivalente a quella dei sorgenti

8 Nomi delle classi e import Come convenzione, per avere nomi di package univoci, si utilizza il dominio della propria azienda/organizzazione in ordine inverso completato con nomi specifici dell'applicazione ( com.mycompany.myproject) Per riferirsi ad una classe deve essere usato il suo nome completo, ossia il nome del package in cui risiede la classe più il nome semplice della classe definito nel.java (com.mycompany.myproject.myclass) Per abbreviare la scrittura del nome della classe è possibile utilizzare la keyword import: import com.mycompany.myproject.myclass In questo modo è sufficiente usare MyClass nel codice. In caso di conflitti di nome nello stesso file, una delle due classi deve essere obbligatoriamente usata col nome completo

9 Class files Quando si compila un programma java vengono generati tanti file.class quante sono le classi java del programma, incluse le classi multiple definite in un unico file java, le nested class e le inner class, anonime e non. Nel caso di classi java semplici, anche se multiple per file, il nome del.class è pari al nome della classe Nel caso di nested o inner class il nome è pari al nome della classe seguito dal simbolo $ seguito dal nome della classe nested o inner Nel caso di inner class anonime vale lo stesso discorso delle classi inner semplici, con la variante che il nome della inner class anonima viene generato dal compilatore (un numero progressivo) I.class sono creati all'interno di cartelle che duplicano la struttura delle cartelle dei file sorgenti

10 Hello World con package Creare la cartella hello nella cartella root Nella cartella hello creare il file HelloWorldApp.java come l'esempio precedente Aggiungere all'inizio del file lo statement package hello; Compilare il file con javac HelloWorldApp.java Eseguire l'applicazione dalla cartella root con java hello.helloworldapp

11 Esecuzione di un programma Un programma java è un'insieme di file.class all'interno di una struttura di cartelle È sufficiente avere una classe con un metodo public static void main(string[]args) NOTA: Possono esserci più classi con un metodo main Una classe viene caricata dalla virtual machine solo quando viene utilizzata in un altra classe (lazy load) Per trovare una classe la VM utilizza il nome del file.class associato alla classe stessa. Il path del file viene generato tramite il nome del package associato alla classe. Se il file viene trovato viene caricato dalla VM, altrimenti viene sollevata un eccezione.

12 Classpath Finora abbiamo supposto l'esistenza di una sola cartella root. In realtà in java è possibile creare applicazioni i cui file.class stanno su differenti strutture di cartelle (e pure in file compressi). I nomi dei package sono costruiti rispettivamente a partire dalla cartella root di ogni struttura. Ogni cartella root di queste strutture costituisce un componente del classpath di esecuzione di un programma java.

13 Esempio di classpath

14 Jar Un insieme di file.class con la propria struttura di cartelle può essere impacchettato all'interno di un file.jar (che altro non è che uno zip). Un jar può essere utilizzato come componente del classpath In questo caso la cartella root è la root dello zip e la virtual machine è in grado di caricare i.class direttamente dal file compresso. Normalmente le librerie java sono semplici file.jar

15 Esecuzione con classpath java -cp /home/user/src1/;src2/ hello.helloworldapp java -cp lib.jar;src1/ hello.hellworldapp

16 API Application Programming Interface La API fornisce le funzionalità principali del linguaggio Java. Offre un vasto set di classi pronte all'uso per diversi scopi, dagli oggetti di base fino alle classi di networking o security, per la generazione di XML e per l'accesso a database. L'API standard è molto ampia.

17 Object metodo equals public boolean equals( Object obj ) Esegue un test di uguaglianza logico, basato sul valore. Già definito in Object in cui riporta true solo se l'istanza passata è la stessa di quella su cui si invoca il metodo (obj == this) Inutile ridefinirlo nei seguenti casi: Ogni istanza della classe è univoca di per sé (Thread) Non mi interessa eseguire un confronto logico (JButton) Una superclasse lo ha già ridefinito e vale anche per la sottoclasse (AbstractSet, AbstractList, AbstractMap) NOTA: è sempre meglio evitare di ridefinirlo in più di una sottoclasse (vedere esempio prossime slide) Quindi si ridefinisce quando per la classe si applica il concetto di logical equality, che vale di solito per value class, come Integer, String, Date. Proprietà che deve rispettare: Riflessiva: x.equals(x) is true Symmetric: x.equals(y)==y.equals(x) Transitiva: x.equals(y), y.equals(z) => x.equals(z) Consistenza: x.equals(y) riporta consistentemente true o false se lo stato dell'oggetto non cambia x.equals(null) riporta sempre false

18 Esempio con equals public final class PhoneNumber { private final short areacode; private final short exchange; private final short extension; } public boolean equals(object o) { if (o == this) return true; if (!(o instanceof PhoneNumber)) return false; //questo include o==null PhoneNumber pn = (PhoneNumber)o; return pn.extension == extension && pn.exchange == exchange && pn.areacode == areacode; }

19 Esempio equals con ereditarietà public class Point { private final int x; private final int y; public Point(int x, int y) { this.x = x; this.y = y; } public boolean equals(object o) { if (!(o instanceof Point)) return false; Point p = (Point)o; return p.x == x && p.y == y; } } public class ColorPoint extends Point { private Color color; } public ColorPoint(int x, int y, Color color) { super(x, y); this.color = color; } //Broken - violates symmetry! public boolean equals(object o) { if (!(o instanceof ColorPoint)) return false; ColorPoint cp = (ColorPoint)o; return super.equals(o) && cp.color == color; }

20 Object metodo hashcode public int hashcode() Riporta un intero che rappresenta l'hash code dell'oggetto Definito in Object e riporta un valore associato all'istanza dell'oggetto Deve essere ridefinito in tutte le classi che ridefiniscono equals in modo da funzionare bene nelle collezioni basate su hash code (Set, Map) Valgono le seguenti proprietà: Deve riportare un valore consistente se chiamato più volte sulla stessa istanza. Se lo stato dell'oggetto non cambia deve riportare sempre lo stesso valore. Non è necessario che riporti il medesimo valore su esecuzioni differenti del programma. Se due istanze sono uguali per valore, ossia x.equals(y) riporta true, allora il metodo hashcode deve riportare lo stesso intero se invocato sulle due istanze. Non è necessario che hashcode riporti valori differenti per due istanze che non sono equals, ma va tenuto conto che produrre valori differenti per istanze non equals può migliorare la performance delle hash table.

21 Esempi di hashcode public int hashcode() { int result = 17; result = 37*result + areacode; result = 37*result + exchange; result = 37*result + extension; return result; } //valido ma da non usare!! public int hashcode() { return 42; }

22 Altre considerazioni Un altro metodo interessante di Object è public String tostring(). Deve essere usato solo a scopi di debug e deve dare una rappresentazione testuale dell'oggetto I metodi equals e hascode possono essere generati automaticamente. Le IDE per lo sviluppo java di solito hanno questa funzionalità

23 Collections A collection sometimes called a container is simply an object that groups multiple elements into a single unit. Collections are used to store, retrieve, manipulate, and communicate aggregate data. Typically, they represent data items that form a natural group, such as a poker hand (a collection of cards), a mail folder (a collection of letters), or a telephone directory (a mapping of names to phone numbers). A collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain the following: Interfaces: These are abstract data types that represent collections. Interfaces allow collections to be manipulated independently of the details of their representation. In object-oriented languages, interfaces generally form a hierarchy. Implementations: These are the concrete implementations of the collection interfaces. In essence, they are reusable data structures. Algorithms: These are the methods that perform useful computations, such as searching and sorting, on objects that implement collection interfaces. The algorithms are said to be polymorphic: that is, the same method can be used on many different implementations of the appropriate collection interface. In essence, algorithms are reusable functionality.

24 Java collections - interfaces

25 Collection interface The Collection interface contains methods that perform basic operations, such as int size() boolean isempty() boolean contains(object element) boolean add(e element) boolean remove(object element) Iterator<E> iterator() It also contains methods that operate on entire collections, such as boolean containsall(collection<?> c) boolean addall(collection<? extends E> c) boolean removeall(collection<?> c) boolean retainall(collection<?> c) void clear(). Additional methods for array operations such as Object[] toarray().

26 Traversing collections For-each construct for (Object o : collection) System.out.println(o); Iterator: An Iterator is an object that enables you to traverse through a collection and to remove elements from the collection selectively, if desired. You get an Iterator for a collection by calling its iterator method. The following is the Iterator interface. public interface Iterator<E> { boolean hasnext(); E next(); void remove(); //optional } for (Iterator<String> it = c.iterator(); it.hasnext(); ){ String s = it.next(); System.out.println(s); }

27 Collection algorithms The polymorphic algorithms are pieces of reusable functionality provided by the Java platform. All of them come from the Collections class, and all take the form of static methods whose first argument is the collection on which the operation is to be performed. The great majority of the algorithms provided by the Java platform operate on List instances, but a few of them operate on arbitrary Collection instances. Sorting Shuffling Routine Data Manipulation (reverse, fill, copy, swap, addall) Searching Composition (frequency, disjoint) Finding Extreme Values (min, max)

28 Set A Set is a Collection that cannot contain duplicate elements. It models the mathematical set abstraction. The Set interface contains only methods inherited from Collection and adds the restriction that duplicate elements are prohibited. Set also adds a stronger contract on the behavior of the equals and hashcode operations, allowing Set instances to be compared meaningfully even if their implementation types differ. Two Set instances are equal if they contain the same elements. The Java platform contains three general-purpose Set implementations: HashSet, TreeSet, and LinkedHashSet Set<String> nodups = new HashSet<String>(); Collection<Integer> other = new TreeSet<Integer>();

29 List A List is an ordered Collection (sometimes called a sequence). Lists may contain duplicate elements. In addition to the operations inherited from Collection, the List interface includes operations for the following: Positional access manipulates elements based on their numerical position in the list. This includes methods such as get, set, add, addall, and remove. Search searches for a specified object in the list and returns its numerical position. Search methods include indexof and lastindexof. Iteration extends Iterator semantics to take advantage of the list's sequential nature. The listiterator methods provide this behavior. Range-view The sublist method performs arbitrary range operations on the list. The Java platform contains two general-purpose List implementations. ArrayList, which is usually the better-performing implementation, and LinkedList which offers better performance under certain circumstances. List<Integer> list = new ArrayList<Integer>();

30 Map A Map is an object that maps keys to values. A map cannot contain duplicate keys: Each key can map to at most one value. It models the mathematical function abstraction. The Map interface includes methods for basic operations (such as put, get, remove, containskey, containsvalue, size, and empty), bulk operations (such as putall and clear), and collection views (such as keyset, entryset, and values). The Java platform contains three general-purpose Map implementations: HashMap, TreeMap, and LinkedHashMap Map<String, Integer> m = new HashMap<String, Integer>(); m.put( William,1955); m.put( Steven, 1955); m.put( Linus, 1969);

31 IDE Sviluppare da riga di comando non è il modo corretto. Una IDE (Integrated Development Environment) è necessaria per avere una serie di funzionalità indispensabili per lo sviluppo del software. Esistono varie IDE open source o gratuite: Eclipse, Net beans, IntelliJ IDEA community edition...

32 Eclipse Fornisce una piattaforma aperta per tool di sviluppo di applicazioni Gira su un vasto range di sistemi operativi Language-neutral HTML, Java, C, JSP, EJB, XML Facilita l integrazione di tool

33 Eclipse gestione codice Esplorazione dei packages e delle classi con struttura ad albero Ricerca veloce della dichiarazione di un metodo, una classe di una variabile Informazioni istantanee sugli elementi del codice tooltip sull elemento documentazione dell elemento Ricerca di elementi in più files Caller graph dei metodi

34 Eclipse scrittura codice Evidenziazione immediata errori di sintassi Completamento automatico di classi, variabili, metodi Import automatici Code formatter Code templates Scrittura automatica di main, override di metodi, setter e getter, costruttori, delegate methods, equals e hashcode ecc...

35 Eclipse - rifattorizzazione Conoscere in anticipo l impatto di una modifica sul codice Possibilità di modificare un elemento mantenendo la semantica di tutto il codice Possibilità di decidere quali cambiamenti effettuare Preview dei cambiamenti Undo e Redo del refactoring Esempi: rename, change method signature, pull up, pull down...

36 Eclipse debug e test Step in, out, over... Breakpoints Conditional breakpoints Variables Watches Stack trace Integrazione con JUnit

37 Eclipse - installazione Scaricare Eclipse IDE for Java EE Developers dalla pagina web: Scompattare in una qualsiasi cartella Aprire tramite il file eseguibile Selezionare una cartella come workspace (anche quello di default) Sotto Windows Preferences Java - Installed JREs verificare che sia selezionata una JDK (non una JRE). In caso contrario aggiungerne una e selezionarla dal file system

38 Eclipse creazione progetto java Dal menu File selezionare New Java Project Seguire il wizard fino in fondo e premere Fine. Cliccare col destro sulla cartella src nel Package Explorer e selezionare New Class Specificare un nome di package e un nome di classe e premere Fine Ogni volta che un file viene salvato, viene anche compilato automaticamente

39 Eclipse esecuzione Definire il metodo main in una classe java Cliccare col destro sul nome del file java nel Package Explorer Lanciare il comando Run as Java application

40 Eclipse UI Configurazione dell'interfaccia Perspectives Package explorer Outline Javadoc Breakpoints

41 Eclipse multiprogetto e librerie Creazione di un altro progetto Impostazione del primo progetto nel classpath del secondo Click col destro sul progetto properties java build path - Projects Utilizzo di classi del primo progetto nel secondo progetto Aggiunta di librerie esterne Click col destro sul progetto - Properties java build path - Libraries

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Dettagli

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

Dettagli

Telematica II 5. Esercitazione/Laboratorio 1

Telematica II 5. Esercitazione/Laboratorio 1 IDE Ambiente di sviluppo IDE - Integrated Development Environment Telematica II 5. Esercitazione/Laboratorio 1 e un Ambiente di Sviluppo Integrato che consente di creare in modo semplice progetti composti

Dettagli

Introduzione all ambiente di sviluppo

Introduzione all ambiente di sviluppo Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio

Dettagli

Le command line di Java

Le command line di Java Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,

Dettagli

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Tipi Tipo Astratto di Permette di specicare dati in modo astratto Astratto Indipendentemente

Dettagli

Programmazione ad oggetti

Programmazione 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

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Eclipse. Avviare un progetto e compilare un semplice programma

Eclipse. Avviare un progetto e compilare un semplice programma Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice

Dettagli

Java. Traditional portability (ideal)

Java. Traditional portability (ideal) 1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs

Dettagli

Ingegneria del Software 1: Generici e Collezioni

Ingegneria del Software 1: Generici e Collezioni Ingegneria del Software 1: Generici e Collezioni Due on Martedi, Marzo 31, 2015 Claudio Menghi, Alessandro Rizzi 1 Contents Ingegneria del Software 1 (Claudio Menghi, Alessandro Rizzi ): Generici e Collezioni

Dettagli

Telematica II 15. Esercitazione/Laboratorio 5

Telematica II 15. Esercitazione/Laboratorio 5 Protocollo FTP FTP Client TCP control connection (port 21) FTP Server Telematica II 15. Esercitazione/Laboratorio 5 File System locale TCP data connection (port( 20) File System remoto La connessione di

Dettagli

Scrivere un programma in Java

Scrivere un programma in Java Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

Astrazioni sul controllo. Iteratori

Astrazioni sul controllo. Iteratori Astrazioni sul controllo Iteratori Nuove iterazioni Definendo un nuovo tipo come collezione di oggetti (p. es., set) si vorrebbe disporre anche di un operazione che consenta cicli (iterazioni) Es.: gli

Dettagli

Strutture dati "classiche"

Strutture dati classiche Modulo di Roadmap 0. Primi passi con Java 1. Buone abitudini 2. Tipi di dati primitivi 3. Uso di classi 4. Leggere e scrivere 5. Definire metodi 6. Strutture di controllo 7. Array e Collection 8. Progetto

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 Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD Utilizzare il NetBeans GUI Builder Dott. Ing. M. Banci, PhD Lavorare con i Beans Queste slide ci guidano nel processo di creazione di un bean pattern nel progetto NetBeans 15 Giugno 2007 Esercitazione

Dettagli

Java Collection Framework

Java Collection Framework STRUTTURE DATI IN JAVA Strutture Dati nella piattaforma Java: Java Collection Framework Java Collection Framework (JCF) fornisce il supporto a qualunque tipo di struttura dati interfacce una classe Collections

Dettagli

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

Dettagli

Ambienti di Sviluppo

Ambienti di Sviluppo Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il

Dettagli

Algoritmi e Strutture Dati. Tipo di dato astratto e Strutture dati elementari

Algoritmi e Strutture Dati. Tipo di dato astratto e Strutture dati elementari Algoritmi e Strutture Dati Tipo di dato astratto e Strutture dati elementari 1 Argomenti della lezione Tipi di dato astratto Strutture dati elementari Liste o Implementazione di liste in Java Stack Code

Dettagli

Scope e visibilità per classi

Scope e visibilità per classi Scope e visibilità per classi Packages Classi interne nelle loro diverse forme Interne / statiche / locali Utilizzo congiunto con interfacce Implementazione di iteratori Gestione di eventi Packages Package:

Dettagli

Introduzione alla programmazione in Java

Introduzione alla programmazione in Java Introduzione alla programmazione in Java 1 Programmare ad oggetti La programmazione come attività di creazione di modelli. I concetti di classe, oggetto e scambio di messaggi. Un primo esempio di programma

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio QUEUE : considerazioni QUEUE : considerazioni Si è realizzata una struttura dati complessa utilizzandone una primitiva, l array. Il pregio di tale implementazione è il basso costo computazionale, mentre

Dettagli

Introduzione a Visual Studio 2005

Introduzione a Visual Studio 2005 Fondamenti di Informatica e Laboratorio T-AB Ingengeria Elettronica e Telecomunicazioni a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual

Dettagli

Programmazione Orientata agli oggetti

Programmazione Orientata agli oggetti Programmazione Orientata agli oggetti Ambiente di Lavoro: Eclipse http://merialdo.dia.uniroma3.it/didattica/wiki/index.php?title=eclipse A cura di Lorenzo Blanco Introduzione: che cosa è Eclipse? Un IDE

Dettagli

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java

! 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

Dettagli

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli 4 Un primo programma Java Introduzione alla programmazione in Java class Program1 { System.out.println("Benvenuti al corso"); 1 5 Programmi e mondo reale Programmare ad oggetti Il codice di un programma

Dettagli

Corso Online. We Train Italy info@wetrainitaly.it

Corso Online. We Train Italy info@wetrainitaly.it Corso Online Programmatore Java New Edition We Train Italy info@wetrainitaly.it Programma Generale del Corso Programmatore Java New Edition 1. Introduzione al corso Java da 0 al web Presentazione del corso

Dettagli

Debtags. Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini enrico@debian.org

Debtags. Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini enrico@debian.org Debtags Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini (enrico@debian.org) 1/14 Fondazioni teoretiche Classificazione a Faccette (sfaccettature) Scoperte del cognitivismo (capacità

Dettagli

Installazione del Software. per lo Sviluppo di Applicazioni Java

Installazione del Software. per lo Sviluppo di Applicazioni Java Installazione del Software per lo Sviluppo di Applicazioni Java Ing. Luca Ferrari ferrari.luca@unimore.it Tel. 0592056142 Installazione del Software per lo Sviluppo di Applicazioni Java 1 Il Compilatore

Dettagli

Corso Android New Edition Corso Online Programmatore Android New Edition

Corso Android New Edition Corso Online Programmatore Android New Edition Corso Android New Edition Corso Online Programmatore Android New Edition Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso di Programmatore

Dettagli

Il linguaggio di programmazione JAVA

Il linguaggio di programmazione JAVA Introduzione a JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

e l ambiente Info L 4 Le operazioni sui dati L 1 L ambiente di programmazione L 5 Le stringhe L 2 La struttura del codice

e l ambiente Info L 4 Le operazioni sui dati L 1 L ambiente di programmazione L 5 Le stringhe L 2 La struttura del codice 1La sintassi Java e l ambiente di sviluppo UNITÀ DI APPRENDIMENTO L 1 L ambiente di programmazione L 2 La struttura del codice L 3 Le variabili e i tipi primitivi L 4 Le operazioni sui dati L 5 Le stringhe

Dettagli

Java e PL/SQL. Simona Rotolo

Java e PL/SQL. Simona Rotolo Java e PL/SQL Simona Rotolo 2 Con l'uscita di Oracle 8i è possibile costruire componenti software che accedono ai dati Oracle utilizzando in modo congiunto i linguaggi PL/Sql e Java. In tal modo è possibile

Dettagli

Introduzione all uso di Eclipse

Introduzione all uso di Eclipse Introduzione all uso di Eclipse Daniela Micucci Programmazione Outline Eclipse: concetti generali Definire un workspace Creare un project Importare un file Utilizzo 1 Introduzione Eclipse è un ambiente

Dettagli

R. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone

R. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone Il linguaggio Java Nato nel maggio 95 (James Gosling & al.) Orientato ad oggetti, basato sulle classi, concorrente Fortemente tipato: distinzione chiara tra errori statici ed errori dinamici Ad alto livello:

Dettagli

Appunti di Informatica www.mimmocorrado.it 1

Appunti di Informatica www.mimmocorrado.it 1 Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il

Dettagli

Introduzione ad Eclipse

Introduzione ad Eclipse Introduzione ad Eclipse Corso di Metodi Avanzati di Programmazione 2014-2015 Docente: Dr. Annalisa Appice Tutor di Laboratorio: dott. Roberto Corizzo Ambiente Eclipse Sommario Java: ambiente Eclipse L

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

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

Dettagli

Corso Linguaggi di programmazione II - Unina Esercitazione (prova intercorso)

Corso 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

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Java Collection Framework. L14 JCF unina 1

Java Collection Framework. L14 JCF unina 1 Java Collection Framework L14 JCF unina 1 Java Collection Framework Prima di Java 2 erano disponibili poche classi container, soprattutto se riferite alla libreria STL del C++ Vector, Stack, Hashtable,

Dettagli

Caratteristiche principali. la struttura open source (escluse alcune versioni intermedie) il suo basarsi su kernel Linux.

Caratteristiche principali. la struttura open source (escluse alcune versioni intermedie) il suo basarsi su kernel Linux. Android s.o. Androidè un sistema operativo per dispositivi mobili costituito da uno stack software che include: un sistema operativo di base, i middleware per le comunicazioni le applicazioni di base.

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

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

Dettagli

Lezione 6 Collezioni. Il concetto astratto di collezione. Servizio minimo: IContainer. Stack (pila)

Lezione 6 Collezioni. Il concetto astratto di collezione. Servizio minimo: IContainer. Stack (pila) Lezione 6 Collezioni Il problema delle collezioni è molto vasto, ed è stato oggetto di studio fin dai primordi dell'informatica. Per esplorarlo senza perdersi è bene proporsi un metodo. Seguiremo il seguente:

Dettagli

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Aprile 21, 2015 Srđan Krstić and Marco Scavuzzo 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK).......................................... 3 1.2

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

Introduzione a.net (2)

Introduzione a.net (2) Introduzione a.net (2) Il linguaggio C# Implementazioni alternative dell'architettura.net: Rotor Mono C#: un nuovo linguaggio C# : CLR = Java : JVM C# è il linguaggio di riferimento per.net Costruito su

Dettagli

Programmazione generica

Programmazione generica 16 Programmazione generica Obiettivi del capitolo Capire gli obiettivi della programmazione generica Essere in grado di realizzare classi e metodi generici Comprendere il meccanismo di esecuzione di metodi

Dettagli

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Java: Compilazione e Traduzione Editing, compilazione, esecuzione

Dettagli

ANDROID 4.2 JELLY BEAN Installazione e configurazione dell ambiente

ANDROID 4.2 JELLY BEAN Installazione e configurazione dell ambiente INTRODUZIONE Per sviluppare applicazioni in grado di girare su sistemi Android servono tre cose: il Java JDK (Java Development Kit), che contiene tutti gli strumenti necessari a sviluppare nel linguaggio

Dettagli

Programmazione Android

Programmazione Android Programmazione Android Giovanni Perbellini, Stefano Cordibella Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Helloworld Weather 2 1 Cos è Android?

Dettagli

Tutorial base su Eclipse. Jug Marche. Relatore: Andrea Del Bene. www.jugancona.it 03/03/2010 1

Tutorial base su Eclipse. Jug Marche. Relatore: Andrea Del Bene. www.jugancona.it 03/03/2010 1 Tutorial base su Eclipse Jug Marche Relatore: Andrea Del Bene www.jugancona.it 1 Eclipse in 2 punti. Che cos è Eclipse? Eclipse è un IDE multilinguaggio e multipiattaforma scritto in Java. E gratuito e

Dettagli

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti

EJB Components. Leonardo Mariani Esercitazione di Sistemi Distribuiti. Oggetti Distribuiti EJB Components Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Oggetti Distribuiti 2 Middleware Esplicito 3 Middleware Implicito 4 Tipica Applicazione J2EE 1/2 5 Tipica Applicazione J2EE 2/2 6

Dettagli

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

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

Dettagli

Outline. Programmazione ad oggetti in Java. La programmazione ad oggetti Classi e istanze Associazioni fra classi Incapsulamento Costruttori

Outline. Programmazione ad oggetti in Java. La programmazione ad oggetti Classi e istanze Associazioni fra classi Incapsulamento Costruttori Programmazione ad oggetti in Java Daniela Micucci Outline La programmazione ad oggetti Classi e istanze Associazioni fra classi Incapsulamento Costruttori 2 Programmazione ad oggetti in Java 1 OOP Java

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione 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

Dettagli

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor

Dettagli

Java per programmatori C++

Java per programmatori C++ 1 of 10 Java per programmatori C++ autore: Matteo Lucarelli ultima versione su: matteolucarelli.net Architettura e concetti generali Cosa scaricare ed installare Tutti gli strumenti per la programmazione

Dettagli

INTRODUZIONE INTRODUZIONE JAVA JAVA

INTRODUZIONE INTRODUZIONE JAVA JAVA INTRODUZIONE INTRODUZIONE Lo sviluppo di applicazioni complesse porta a costruire moduli software sempre più potenti e versatili, che possano essere riutilizzati in numerosi progetti I linguaggi ad oggetti

Dettagli

Code::Blocks, installazione ed uso

Code::Blocks, installazione ed uso Code::Blocks, installazione ed uso Alessio Mauro Franchi Dipartimento DEIB, Politecnico di Milano, Milano 9 ottobre 04 Indice Introduzione Installare Code::Blocks: Windows 3 3 Installare Code::Blocks:

Dettagli

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY 1 Sommario 1. INTRODUZIONE... 3 2. GET METAIO... 4 2.1. PREREQUISITI... 4 2.2. INTALLAZIONE... 4 2.3. PROGETTI ESEMPLIFICATIVI... 4 3. USARE

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati Activation In generale i Sistemi ad oggetti distribuiti sono progettati per lavorare con oggetti persistenti. Dato che questi sistemi saranno composti da migliaia (forse milioni) di tali oggetti, sarebbe

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo

L 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,

Dettagli

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

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

Dettagli

ARRAYLIST. Programmazione con Java ArrayList e Generics 2 08/06/2014. Daniela Micucci daniela.micucci@unimib.it

ARRAYLIST. Programmazione con Java ArrayList e Generics 2 08/06/2014. Daniela Micucci daniela.micucci@unimib.it Programmazione con Java ArrayList e Generics Daniela Micucci daniela.micucci@unimib.it ARRAYLIST Programmazione con Java ArrayList e Generics 2 1 La classe ArrayList Fa parte delle librerie standard di

Dettagli

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

Dettagli

Programmazione Java: Ereditarietà, Classe Object, Argomenti a riga di comando, Numeri come oggetti

Programmazione Java: Ereditarietà, Classe Object, Argomenti a riga di comando, Numeri come oggetti Programmazione Java: Ereditarietà, Classe Object, Argomenti a riga di comando, Numeri come oggetti romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Ereditarietà» super» Binding dinaminco»

Dettagli

19. Introduzione al multi-threading

19. Introduzione al multi-threading 19. Introduzione al multi-threading Marco Faella Dip. Ing. Elettrica e Tecnologie dell'informazione Università di Napoli Federico II Corso di Linguaggi di Programmazione II I thread I thread, o processi

Dettagli

Breve introduzione al Javadoc

Breve 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

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A.

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A. Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A Apache Ant Michele Tomaiuolo Progetto Apache Open source, community

Dettagli

Programmazione AA 2012 2013

Programmazione AA 2012 2013 Programmazione ad Oggetti AA 2012 2013 Contenuti del corso Modulo A Tecniche di programmazione Docente: Prof. Michele Bugliesi Modulo B Tecniche di progetto Docente: Prof. Alessandro Roncato Contenuti

Dettagli

Model Driven Software Development con Eclipse, StatechartUMC

Model Driven Software Development con Eclipse, StatechartUMC Model Driven Software Development con Eclipse, StatechartUMC Aldi Sulova Istituto di Scienza e Tecnologie dell Informazione A. Faedo - CNR Via G. Moruzzi 1, 56124 Pisa, Italy aldi.sulova@isti.cnr.it Abstract.

Dettagli

Libreria standard JAVA

Libreria standard JAVA JDK Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/ JDK Libreria standard

Dettagli

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II PROF. G. BONGIOVANNI 0) INTRODUZIONE AL LINGUAGGIO JAVA PER PROGRAMMATORI C++...2 0.1) Caratteristiche principali... 2 0.1.1)

Dettagli

SAPIENZA Università di Roma, Facoltà di Ingegneria

SAPIENZA Università di Roma, Facoltà di Ingegneria SAPIENZA Università di Roma, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE Laurea in Ingegneria Informatica Prof. E.Casalicchio A.A. 2008/09 QUARTA PARTE: LA FASE DI REALIZZAZIONE La fase di

Dettagli

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

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

Dettagli

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla 1. Which are three reasons a company may choose Linux over Windows as an operating system? (Choose three.)? a) It

Dettagli

Prossime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1

Prossime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1 Prossime lezioni Dai TDA agli oggetti Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 18 19 gennaio

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Informazioni generali Docente: Samuel Rota Bulò @email: srotabul@dais.unive.it Homepage: http://www.dais.unive.it/~srotabul/ ooprogramming2012.html

Dettagli

Synchronized (ancora)

Synchronized (ancora) Synchronized (ancora) Riscriviamo l esempio di prima. Usiamo una struttura modulare, con una classe Notificatore che ha opportuni metodi. La classe ha due campi privati, la lista buftext e un suo thread.

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi

Applicazioni web. Sommario. Parte 6 Servlet Java. Applicazioni web - Servlet. Alberto Ferrari 1. Servlet Introduzione alle API ed esempi Applicazioni web Parte 6 Java Alberto Ferrari 1 Sommario Introduzione alle API ed esempi Tomcat Server per applicazioni web Alberto Ferrari 2 Alberto Ferrari 1 Java: da applet a servlet In origine Java

Dettagli

Corso Eclipse. Prerequisiti. 3 Window Builder

Corso Eclipse. Prerequisiti. 3 Window Builder Corso Eclipse 3 Window Builder 1 Prerequisiti Conoscenza elementare ambiente Eclipse Conoscere la nomenclatura dei componenti delle interfacce grafiche Conoscere attributi e metodi dei principali componenti

Dettagli

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione

Dettagli

PAOLO CAMAGNI RICCARdO NIkOLAssy. CORsO di JAVA. Dalla programmazione ad oggetti alle applicazioni grafiche HOEPLI

PAOLO CAMAGNI RICCARdO NIkOLAssy. CORsO di JAVA. Dalla programmazione ad oggetti alle applicazioni grafiche HOEPLI PAOLO CAMAGNI RICCARdO NIkOLAssy CORsO di JAVA Dalla programmazione ad oggetti alle applicazioni grafiche HOEPLI Corso di Java Paolo camagni riccardo nicolassy Corso di Java Dalla programmazione ad oggetti

Dettagli

Linguaggi 2 e laboratorio

Linguaggi 2 e laboratorio Linguaggi 2 e laboratorio Docente: Leonardo Badia Contatti: leonardo.badia@gmail.com Pagina web del corso: www.unife.it/scienze/informatica/ insegnamenti/linguaggi-2-laboratorio Argomenti del corso: Java

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Peripheral Interface Controller PIC MCU Families (Microchip)

Peripheral Interface Controller PIC MCU Families (Microchip) PIC Peripheral Interface Controller PIC MCU Families (Microchip) Parliamo di come programmeremo Hardware Microcontrollore PIC18Fxxx (452) ambiente di sviluppo software scrittura del codice Cross-compilatore

Dettagli

JUG Ancona Italy. Google Web Toolkit. Giovanni Baleani Programmatore Java. Filippetti S.r.l.

JUG Ancona Italy. Google Web Toolkit. Giovanni Baleani Programmatore Java. Filippetti S.r.l. JUG Ancona Italy Google Web Toolkit Giovanni Baleani Programmatore Java Filippetti S.r.l. AJAX e GWT - AJAX: Tecnologia emergente, tra le prime applicazione ajax ci sono proprio gmail e google calendar.

Dettagli