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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

! 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 La piattaforma Eclipse Michele Tomaiuolo Eclipse Eclipse, an extensible

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: 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

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

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

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

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

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

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Java: Compilatore e Interprete

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

Dettagli

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

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

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 10 - J2EE 25/05/2015

Alma Mater Studiorum Università di Bologna. Scuola di Ingegneria e Architettura. Tecnologie Web T. Esercitazione 10 - J2EE 25/05/2015 Web Container vs. EJB Container Alma Mater Studiorum Università di Bologna Scuola di Ingegneria e Architettura Tecnologie Web T - J2EE Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione

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

PROGETTO LAUREE SCIENTIFICHE

PROGETTO LAUREE SCIENTIFICHE 1 PROGETTO LAUREE SCIENTIFICHE Write once, write everywhere è il motto dei progettisti del linguaggio java. Infatti questo linguaggio è il risultato dell esigenza di programmare per quello che si può chiamare

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

Java Virtual Machine

Java Virtual Machine Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina

Dettagli

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo & Monica Scannapieco Anno Accademico 2003/04 LA FASE DI PROGETTO E

Dettagli

Esercitazione n 4. Obiettivi

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

Dettagli

sdforexcontest2009 Tool

sdforexcontest2009 Tool sdforexcontest2009 Tool Guida all istallazione e rimozione. Per scaricare il tool del campionato occorre visitare il sito dell organizzatore http://www.sdstudiodainesi.com e selezionare il link ForexContest

Dettagli

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java La Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Anno Accedemico 2008-2009 Relazione finale su progetto interno Realizzazione di un applicazione per la visualizzazione

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

Gruppi di Thread. Java threads (3) Gruppi di thread e Timer. Operating Systems. Operating Systems. Java threads 3. Java threads 3

Gruppi di Thread. Java threads (3) Gruppi di thread e Timer. Operating Systems. Operating Systems. Java threads 3. Java threads 3 Java threads (3) Gruppi di thread e Timer emanuele lattanzi isti information science and technology institute 1/12 Gruppi di Thread emanuele lattanzi isti information science and technology institute 2/12

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

Linguaggi e Laboratorio. Panoramica su Java

Linguaggi e Laboratorio. Panoramica su Java Linguaggi e Laboratorio Laurea in Ingegneria Telematica Università Kore di Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 03 -

Dettagli

Tipi astratti di dato e loro realizzazione in Java

Tipi astratti di dato e loro realizzazione in Java Unità 13 Tipi astratti di dato e loro realizzazione in Java Sommario Tipo astratto di dato Specifica di tipi astratti Astrazione di valori e astrazione di entità Realizzazione di tipi astratti in Java

Dettagli

STRUTTURE DATI IN JAVA

STRUTTURE DATI IN JAVA Package java.util STRUTTURE DATI IN JAVA Molto spesso, una computazione si basa su una o più strutture dati, di vario tipo: insiemi, code, stack, tabelle, liste, alberi Data la loro importanza, Java ne

Dettagli

IL LINGUAGGIO JAVA: CARATTERISTICHE

IL LINGUAGGIO JAVA: CARATTERISTICHE CHE COS È JAVA È un linguaggio (e relativo ambiente di programmazione) definito dalla Sun Microsystems per permettere lo sviluppo di applicazioni sicure, performanti e robuste su piattaforme multiple,

Dettagli

RMI: metodi equals e hashcode

RMI: metodi equals e hashcode RMI: metodi equals e hashcode Per verificare se due oggetti remoti contengono gli stessi dati, la chiamata indirizzata al metodo equals() avrebbe bisogno di contattare i server dove si trovano gli oggetti

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

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

By E.M. note sull'uso di GAMBAS

By E.M. note sull'uso di GAMBAS By E.M. note sull'uso di GAMBAS GAMBAS viene installato sotto Xubuntu nella directory: /usr/share/gambas2 link problema su uso dell'esempio SerialPort http://gambasrad.org/zforum/view_topic?topic_id=1057

Dettagli

Guida all installazione di Code::Blocks

Guida all installazione di Code::Blocks Guida all installazione di Code::Blocks Andrea Galbiati, Daniele Valente October 11, 2011 Contents 1 Introduzione 1 2 Installazione 2 2.1 Windows..................................... 2 2.2 Linux......................................

Dettagli

Informatica. Terzo anno Prof. A. Longheu

Informatica. Terzo anno Prof. A. Longheu Informatica Terzo anno Prof. A. Longheu INTRODUZIONE AL LINGUAGGIO JAVA Originariamente, il progetto che avrebbe portato al linguaggio Java era noto come progetto Green Nome del progetto Sun con l obiettivo

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

Introduzione a Java. Jacopo Torrini. Dipartimento di Sistemi e Informatica Laboratorio di Tecnologie del Software. torrini@dsi.unifi.

Introduzione a Java. Jacopo Torrini. Dipartimento di Sistemi e Informatica Laboratorio di Tecnologie del Software. torrini@dsi.unifi. Introduzione a Java Jacopo Torrini Dipartimento di Sistemi e Informatica Laboratorio di Tecnologie del Software torrini@dsi.unifi.it Introduzione Il linguaggio Java è un linguaggio di alto livello con

Dettagli

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch drag & drop visual programming appinventor realizzazione app per Google Android OS appinventor è un applicazione drag & drop visual programming Contrariamente ai linguaggi tradizionali (text-based programming

Dettagli

Installazione del JDK 6

Installazione del JDK 6 Sommario Installazione del JDK 6 Anton Soppelsa Dipartimento di Ingegneria Elettrica http://www.die.unipd.it 15 Ottobre 2007 Sommario Sommario 1 Editor di testo Perché serve un editor di testo Editor per

Dettagli

DICHIARAZIONE DI RESPONSABILITÀ

DICHIARAZIONE DI RESPONSABILITÀ - 0MNSWK0082LUA - - ITALIANO - DICHIARAZIONE DI RESPONSABILITÀ Il produttore non accetta responsabilità per la perdita di dati, produttività, dispositivi o qualunque altro danno o costo associato (diretto

Dettagli

Parte 13. Documentazione. [Frida Kahlo Nucleus Of Creation, 1945] 13.1 - AA. 2012/13

Parte 13. Documentazione. [Frida Kahlo Nucleus Of Creation, 1945] 13.1 - AA. 2012/13 Parte 13 Documentazione - AA. 2012/13 [Frida Kahlo Nucleus Of Creation, 1945] 13.1 13.2 Documentazione La documentazione in campo informatico, comprende il materiale utile alla comprensione delle caratteristiche

Dettagli