Programmazione Java (Applicazioni e Applet )

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Java (Applicazioni e Applet )"

Transcript

1 Programmazione Java (Applicazioni e Applet ) Prof. Flavio Cerini Dopo aver installato il JDK 1.4.1_01 e inserito il percorso della cartella \bin nel PATH si possono provare i seguenti programmi funzionanti. Creare una cartella di nome java. All interno della cartella scrivere con un editor ( Notepad opp Editplus) i programmi sottoelencati ( file.java) Dal prompt del DOS si compila il file java. es C:\java> javac file.java ; si ottiene così un bytecode (file.class) Dal prompt del DOS si interpreta il file.class; es. C:\java\java file.class Il nome del file deve essere uguale a quello della classe 1) public class CiaoMondo public static void main(string[] args) System.out.println("Ciao Mondo!!!"); 2) class primo public static void main(string[] args) System.out.println("Ciao come va il primo programma Java?"); 3) Applet import java.applet.*; public class appletciao extends Applet public void paint(graphics g) g.drawstring("ciao da Applet!!!",20,20); <TITLE> Pagina con Applet Ciao</TITLE>!--Invece di APPLET si può usare OBJECT e si possono evitare le virgolette -- <APPLET CODE ="appletciao.class" WIDTH = 200 HEIGHT = 100!--CODEBASE = " -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto--!--ovviamente la Cartella_Contenente_Applet deve essere nella cartella del Server es. Htdocs -- Autore Flavio Cerini 1

2 4) //importo la classe Graphics import java.awt.graphics; public class linea extends java.applet.applet public void paint(graphics g) //disegno la linea g.drawline(60,100,130,200); <TITLE> Pagina con Applet Linea</TITLE> <APPLET CODE ="linea.class" WIDTH = 300 HEIGHT = 300!--CODEBASE = " -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- 5) import java.awt.graphics; public class triangolo extends java.applet.applet public void paint(graphics g) //disegno la linea g.drawline(60,100,130,200); g.drawline(130,200,200,100); g.drawline(200,100,60,100); <TITLE> Pagina con Applet Triangolo </TITLE> <APPLET CODE ="triangolo.class" WIDTH = 300 HEIGHT = 300!--CODEBASE = " -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- Autore Flavio Cerini 2

3 6) import java.awt.graphics; public class rettangoli extends java.applet.applet public void paint(graphics g) g.drawrect(30,30,80,80); g.fillrect(140,30,80,80); g.drawroundrect(30,140,80,80,10,10); g.fillroundrect(140,140,80,80,30,30); <TITLE> Pagina con Applet Rettangoli </TITLE> <APPLET CODE ="rettangoli.class" WIDTH = 300 HEIGHT = 300!--CODEBASE = " -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- 7) //importo la classe Graphics public class font extends java.applet.applet public void paint(graphics g) Font f=new Font("TimesRoman",Font.BOLD,26); g.setfont(f); g.drawstring("ecco la mia stringa",100,100); <TITLE> Font </TITLE> <APPLET CODE ="font.class" WIDTH = 400 HEIGHT = 200!--CODEBASE = " -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- Autore Flavio Cerini 3

4 8) public class colore extends java.applet.applet public void paint(graphics g) setbackground(new Color(150,150,140)); //g.setcolor(color.white); //g.drawstring("scritta in bianco su sfondo grigio",60,60); g.setcolor(color.yellow); g.drawstring("scritta in giallo su sfondo grigio",60,60) <TITLE> COLORE </TITLE> <APPLET CODE ="colore.class" WIDTH = 300 HEIGHT = 200> 9) import java.applet.*; public class bottone extends Applet // creo il bottone con la sua etichetta Button b=new Button("Il mio primo bottone"); public void init() //aggiuno al pannello il bottone prima creato add(b); <TITLE> BOTTONE </TITLE> <APPLET CODE ="bottone.class" WIDTH = 400 HEIGHT = 200> Autore Flavio Cerini 4

5 10) import java.applet.*; public class textfield extends Applet // creo un campo di testo di lunghezza 40 caratteri TextField t = new TextField("Inizializzazione",40); String s = new String(); public void init() //aggiuno il TextField al pannello dell'applet add(t); <TITLE> Applet Textfield </TITLE> <APPLET CODE ="textfield.class" WIDTH = 400 HEIGHT = 200> 11) import java.applet.*; public class textarea extends Applet // creo una Textarea di 4 righe e 20 colonne TextArea prima = new TextArea("Contenuto dell'area 1",4, 20); // creo una Textarea di 5 righe e 30 colonne TextArea seconda = new TextArea("Contenuto dell'area 2",5, 30); String s = new String(); public void init() //le aggiungo al pannello dell'applet add(prima); add(seconda); Autore Flavio Cerini 5

6 <TITLE> Applet TextArea </TITLE> <APPLET CODE ="textarea.class" WIDTH = 400 HEIGHT = 200> 12) import java.applet.*; public class checkbox extends Applet Label l = new Label("Che lingue conosci?"); Checkbox c1 = new Checkbox("Inglese"); Checkbox c2 = new Checkbox("Francese"); Checkbox c3 = new Checkbox("Tedesco"); public void init() //aggiuno al pannello dell'applet add(l); add(c1); add(c2); add(c3); <TITLE> Applet Checkbox</TITLE> <APPLET CODE ="checkbox.class" WIDTH = 400 HEIGHT = 200> Autore Flavio Cerini 6

7 13) import java.applet.*; public class liste_sc extends Applet String[] sport = "Calcio", "Ginnastica", "Corsa", "Tennis","Nuoto","Basket","Pallavolo","Sci"; String[] preferiti = "Sport", "Documentari", "Serial", "Musica", "Informazione","Varietà", "Film"; // Visualizza quattro voci, permette la selezione multipla List l = new List(4, true); Choice c = new Choice(); Label l1= new Label("Che sport pratichi?"); Label l2= new Label("Che programmi TV preferisci?"); public void init() //Inserisco le voci nel componente List for (int i = 0; i<8; i++) l.additem(sport[i]); //Inserisco le voci del componente Choice for (int i=0 ;i<7 ;i++ ) c.additem(preferiti[i]); add(l1); add(l); add(l2); add(c); <TITLE> Applet Liste a scorrimento</title> <APPLET CODE ="liste_sc.class" WIDTH = 400 HEIGHT = 200> Autore Flavio Cerini 7

8 14) //importo la classe Graphics import java.applet.*; public class bottoni extends Applet public void init() int i=0; // decido il tipo di Layout setlayout(new BorderLayout()); //Uso le costanti North, South, East e West per sistemare i bottoni add("north", new Button ("Bottone num. "+i++)); add("south", new Button ("Bottone num. "+i++)); add("east", new Button ("Bottone num. "+i++)); add("west", new Button ("Bottone num. "+i++)); add("center", new Button ("Bottone num. "+i++)); <TITLE> Applet Bottoni</TITLE> <APPLET CODE ="bottoni.class" WIDTH = 400 HEIGHT = import java.applet.*; public class bottoni extends Applet public void init() int i=0; // decido il tipo di Layout setlayout(new FlowLayout()); //Uso le costanti North, South, East e West per sistemare i bottoni add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); Autore Flavio Cerini 8

9 <TITLE> Applet Bottoni</TITLE> <APPLET CODE ="bottoni.class" WIDTH = 400 HEIGHT = 200> 16) Programma che legge un file ( sorgente.txt) e lo copia in un altro file ( destinazione.txt ) import java.io.*; public class readfile public static void main(string[] args) throws IOException File input = new File("sorgente.txt"); File output = new File("destinazione.txt"); //apre stream di input e di output FileReader in = new FileReader(input); //stream in input FileWriter out = new FileWriter(output); //stream di output int carattere; //legge il carattere uno alla volta e lo scrive sull'altro stream while ((carattere = in.read())!= -1) out.write(carattere); in.close(); out.close(); 17) import java.io.*; public class streamfile public static void main(string[] args) throws IOException File input = new File("sorgente.txt"); File output = new File("destinazione.txt"); //apre stream di input e di output FileInputStream in = new FileInputStream(input); //stream in input FileOutputStream out = new FileOutputStream(output); //stream di output int carattere; //legge il carattere uno alla volta e lo scrive sull'altro stream while ((carattere = in.read())!= -1) out.write(carattere); in.close(); out.close(); Autore Flavio Cerini 9

10 18) Programma che legge da tastiera e scrive sul monitor import java.io.*; public class read_tast public static void main(string[] arg) throws Exception InputStreamReader Ireader; BufferedReader buffer; String inputline; Ireader=new InputStreamReader(System.in); buffer =new BufferedReader(Ireader); inputline=buffer.readline(); System.out.println(inputLine); 19) Programma che visualizza il risultato di vari operatori class operatori public static void main(string[ ] args) int y = 16; int Y = 8; float a = 4.3f; float c = 1.5f; short x = 12; System.out.println("x=" + x +", y=" + y); System.out.println("x+y=" + (x +y)); System.out.println("x-y=" + (x -y)); System.out.println("x/y=" + (x/y)); System.out.println("x%y=" + (x%y)); System.out.println("a=" + a +", c=" + c); System.out.println("valore di a/c=" + (a/c)); System.out.println("y =" + y +", Y =" + Y); System.out.println("La condizione y>y risulta =" + (y>y)); Autore Flavio Cerini 10

11 20) Programma che mette in evidenza le caratteristiche OOP del linguaggio Java class valore private int varist=0; valore() System.out.println("Sono nel costruttore della classe valore"); public void incrementa() varist++; public void stampa() System.out.println("Il valore della variabile di istanza: " +varist); public class test public static void main(string[ ] args) valore miooggetto=new valore(); miooggetto.incrementa(); miooggetto.stampa(); miooggetto.incrementa(); miooggetto.stampa(); 21) public class sommatoria private int somma=0; sommatoria aggiungi(int elemento) somma+=elemento; return this; void stampa() System.out.println(this.somma); public static void main(string[] args) sommatoria s = new sommatoria(); s.aggiungi(2).aggiungi(6).aggiungi(4).stampa(); Autore Flavio Cerini 11

12 22) Programma Java ad oggetti. Viene definita una classe Automobile e due sottoclassi: Utilitaria e AutoDaCorsa /* Programma Java con classe automobile e due sottoclassi autodacorsa ed utilitaria. Le sottoclassi ereditano automaticamente le variabili di istanza e i metodi della superclasseche ereditano dalla principale variabili e metodi. Si può notare che il metodo setvelocità è invocabile dagli oggetti ferrari e cinquecento ovviamente con valori distinti. Il metodo temperaturaalta delle due classi (utilitaria e autodacorsa) deve essere diverso. Per ottenere il diverso comportamento è stato riscritto il metodo nella definizione delle due sottoclassi. La Segnatura del metodo ( tipo di ritorno e la lista dei parametri compreso tipo e ordine ) è rimasta inalterata, è variato solo il comportamento. La tecnica che consente di modificare il comportamento di un metodo rispetto alla classe base si chiama OVERRIDING ed è uno dei meccanismi più potenti della programmazione ad oggetti (OOP). Diverso è il concetto per il metodo gettenutastrada che viene chiamato anche con diversi parametri. La riscrittura di un metodo della classe base in una clase derivata modificando la segnatura del metodo stesso si chiama OVERLOADING.*/ class automobile // Classe auto generica int velocita=0; // variabili di istanza float tenutastrada=0f; int temperaturamax=100; void setvelocita(int velocita) //metodo imposta velocità this.velocita=velocita; int getvelocita() //metodo velocità System.out.println(this.velocita); return this.velocita; void gettenutastrada() //metodo tenutastrada System.out.println("metodo gettenutastrada di automobile"); void temperaturaalta(int temperatura) //metodo temperatura System.out.println("attenzione temperatura alta"); class autodacorsa extends automobile // Classe auto da corsa ( extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Controllo strumentazione"); System.out.println("Fermata ai box"); void gettenutastrada() // metodo tenutastrada float coeff_asfalto = 0.001f; this.tenutastrada=coeff_asfalto*this.velocita; System.out.println(this.tenutaStrada); Autore Flavio Cerini 12

13 class utilitaria extends automobile // Classe utilitaria (extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Ferma alla prima sosta"); System.out.println("Controllo temperatura acqua radiatore"); void gettenutastrada(int mantostradale) // metodo tenutastrada float coeff_terra = 0.034f; float coeff_asfalto=0.03f; if (mantostradale ==0) this.tenutastrada=coeff_asfalto*this.velocita; else this.tenutastrada=coeff_terra*this.velocita; System.out.println(this.tenutaStrada); public class auto // classe auto che contiene il metodo main public static void main(string[ ] args) autodacorsa ferrari= new autodacorsa(); utilitaria cinquecento = new utilitaria(); ferrari.setvelocita(200); cinquecento.setvelocita(100); ferrari.gettenutastrada(); cinquecento.gettenutastrada(1); ferrari.getvelocita(); cinquecento.getvelocita(); ferrari.temperaturaalta(123); cinquecento.temperaturaalta(119); 23) Stesso programma precedente con evidenziata caratteristica del Polimorfismo /* Programma Java con classe automobile e due sottoclassi autodacorsa ed utilitaria. Le sottoclassi ereditano automaticamente le variabili di istanza e i metodi della superclasseche ereditano dalla principale variabili e metodi.*/ Autore Flavio Cerini 13

14 class automobile // Classe auto generica int velocita=0; // variabili di istanza float tenutastrada=0f; int temperaturamax=100; void setvelocita(int velocita) //metodo imposta velocità this.velocita=velocita; int getvelocita() //metodo velocità System.out.println(this.velocita); return this.velocita; void gettenutastrada() //metodo tenutastrada System.out.println("metodo gettenutastrada di automobile"); void temperaturaalta(int temperatura) //metodo temperatura System.out.println("attenzione temperatura alta"); class autodacorsa extends automobile // Classe auto da corsa ( extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Controllo strumentazione"); System.out.println("Fermata ai box"); void gettenutastrada() // metodo tenutastrada float coeff_asfalto = 0.001f; this.tenutastrada=coeff_asfalto*this.velocita; System.out.println(this.tenutaStrada); class utilitaria extends automobile // Classe utilitaria (extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Ferma alla prima sosta"); System.out.println("Controllo temperatura acqua radiatore"); Autore Flavio Cerini 14

15 void gettenutastrada(int mantostradale) // metodo tenutastrada float coeff_terra = 0.034f; float coeff_asfalto=0.03f; if (mantostradale ==0) this.tenutastrada=coeff_asfalto*this.velocita; else this.tenutastrada=coeff_terra*this.velocita; System.out.println(this.tenutaStrada); public class auto_pol // classe auto che contiene il metodo main public static void main(string[] args) polimorfismo ) //Math.random() restituisce un double tra 0 e 1.0 automobile autovettura; // definisco autovettura appartenente alla classe automobile if((math.random()) > 0.50 ) // autovettura diventa una auto da corsa ( Passaggio fondamentale per il autovettura = new autodacorsa(); System.out.println(" Auto da corsa "); else // autovettura diventa una utilitaria autovettura = new utilitaria(); System.out.println(" Utilitaria "); // richiamo ora il metodo sull'oggetto non sapendo a che classe appartenga // notare che il risultato è giusto! autovettura.temperaturaalta(126); // notare che la scelta viene fatta a Run Time 24) Stesso programma con vettore di oggetti /* Programma Java con classe automobile e due sottoclassi autodacorsa ed utilitaria. Le sottoclassi ereditano automaticamente le variabili di istanza e i metodi della superclasseche ereditano dalla principale variabili e metodi.*/ Autore Flavio Cerini 15

16 class automobile // Classe auto generica int velocita=0; // variabili di istanza float tenutastrada=0f; int temperaturamax=100; void setvelocita(int velocita) //metodo imposta velocità this.velocita=velocita; int getvelocita() //metodo velocità System.out.println(this.velocita); return this.velocita; void gettenutastrada() //metodo tenutastrada System.out.println("metodo gettenutastrada di automobile"); void temperaturaalta(int temperatura) //metodo temperatura System.out.println("attenzione temperatura alta"); class autodacorsa extends automobile // Classe auto da corsa ( extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Controllo strumentazione"); System.out.println("Fermata ai box"); void gettenutastrada() // metodo tenutastrada float coeff_asfalto = 0.001f; this.tenutastrada=coeff_asfalto*this.velocita; System.out.println(this.tenutaStrada); class utilitaria extends automobile // Classe utilitaria (extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Ferma alla prima sosta"); System.out.println("Controllo temperatura acqua radiatore"); Autore Flavio Cerini 16

17 void gettenutastrada(int mantostradale) // metodo tenutastrada float coeff_terra = 0.034f; float coeff_asfalto=0.03f; if (mantostradale ==0) this.tenutastrada=coeff_asfalto*this.velocita; else this.tenutastrada=coeff_terra*this.velocita; System.out.println(this.tenutaStrada); public class vettauto // classe auto che contiene il metodo main public static void main(string[ ] args) else //Math.random() restituisce un double tra 0 e 1.0 //dichiaro il vettore di oggetti automobile automobile[ ] vetture = new automobile[5]; // costruzione del vettore di oggetti eterogenei for(int i=0;i<5;i++) if(math.random()>0.5) vetture[i] = new autodacorsa(); vetture[i] =new utilitaria(); //Invocazione dei metodi sugli oggetti del vettore for(int i=0; i<5; i++) vetture[i].temperaturaalta(200); Autore Flavio Cerini 17

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame(Finestra); // crea frame invisibile I Canvas Tra i vari contenitori Java il Canvas (area di disegno o tela) è una semplice superficie di disegno particolarmente utile per visualizzare immagini o per effettuare altre operazioni grafiche.

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Esercizi della lezione 5 di Java

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

Dettagli

Struttura di un programma Java

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

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

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

Gestione delle Eccezioni

Gestione delle Eccezioni Gestione delle Eccezioni Condizioni di Errore Una condizione di errore in un programma può avere molte cause Errori di programmazione Divisione per zero, cast non permesso, accesso oltre i limiti di un

Dettagli

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

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

Dettagli

Esercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }

Esercizi Java. class somma2 { static int somma(int a,int b) {return a+b; } Java è un linguaggio di programmazione c indipendente dalla piattaforma, ovvero un linguaggio di programmazione che permette di compilare i programmi una volta sola e di installarli su computer che usano

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

Java: la libreria delle classi

Java: la libreria delle classi Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare

Dettagli

Operazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Operazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Operazioni di input/output Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Input /Output introduzione Per ottenere delle informazioni un programma apre un flusso (Stream)

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

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP (VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP D (FKR&OLHQWH6HUYHU Sviluppare un applicazione C/S in cui: il server attende una connessione da parte del client (su MDYDQHW6HUYHU6RFNHW), usa la

Dettagli

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Chat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata. Chat Si ha un server in ascolto sulla porta 4444 Quando un client richiede la connessione, il server risponde con: Connessione accettata. Nome: Il client deve rispondere con lo user name A questo punto

Dettagli

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

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

Dettagli

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

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

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

Dettagli

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

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

Parcheggio.rtf 1/8 6 gennaio 2009. Prova di programmazione: parcheggio a pagamento

Parcheggio.rtf 1/8 6 gennaio 2009. Prova di programmazione: parcheggio a pagamento Parcheggio.rtf 1/8 6 gennaio 2009 Prova di programmazione: parcheggio a pagamento Si sviluppi il codice per la gestione di un parcheggio a pagamento mediante la classe Parcheggio, che ospita le auto rappresentate

Dettagli

Concetto di Funzione e Procedura METODI in Java

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

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4]; ARRAY BIDIMENSIONALI Si possono definire array di qualunque tipo di dato, quindi anche di altre array float [][] mx = new float[3][4]; ovvero.. (float []) [] mx = new float[3][4]; La loro motivazione (storica)

Dettagli

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Progetto Automi e Linguaggi Parser svliluppato con JLex e cup Sviluppato da Santoro Carlo Maurizio Matricola:0108/528 Sviluppo terminato il: 18/06/06 TRACCIA DEL PROGETTO Si costruisca, utilizzando la

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

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

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

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

Dettagli

Prova d Esame 07.04.2006 Compito A

Prova d Esame 07.04.2006 Compito A DOMANDA 1 (6 punti) Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { public static String s1 = "Ciao"; protected int n; public General() { n = 1; public

Dettagli

Prova d Esame 07.04.2006 Compito B

Prova d Esame 07.04.2006 Compito B DOMANDA 1 (6 punti) Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { public static String s1 = "ciao"; protected int n; public General() { n = 3; public

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Definizione di classi con array di oggetti

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

Dettagli

Parola chiave extends

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

Dettagli

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

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

Dettagli

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato

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

Le variabili. Olga Scotti

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

Dettagli

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

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete Compito in classe proposto Realizzare un applicazione C/S per trasferire al Client il contenuto

Dettagli

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 30 maggio 2014 Introduzione Un programma diviso in sezioni distinte Un approccio alla

Dettagli

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008 Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 6 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

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

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

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

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

Dettagli

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

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Cifratura simmetrica

Cifratura simmetrica Cifratura Cifratura simmetrica Alice canale insicuro Bob 2 Cifratura simmetrica m Algoritmo di decifratura m Alice canale insicuro Algoritmo di cifratura Bob 3 Cifrari simmetrici chiave privata k chiave

Dettagli

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); } import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO

Dettagli

Architettura Client-Server

Architettura Client-Server Architettura Client-Server 1. il client manda una richiesta al server 2. il server (in attesa) riceve la richiesta 3. il server esegue il servizio richiesto (generando un thread concorrente) 4. il server

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002. Soluzione degli Esercizi

COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002. Soluzione degli Esercizi COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002 degli Esercizi ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int i=0, j=0; int[][] a=b; boolean trovato=false;

Dettagli

Programmazione ad Oggetti: JAVA. Esercitazione

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

Dettagli

costruttori e distruttori

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

Dettagli

Pila di interi. Car 1. Car n. Pila di interi: Pila di Oggetti: Gli elementi che sono inseriti e tolti dalla pila sono numeri interi

Pila di interi. Car 1. Car n. Pila di interi: Pila di Oggetti: Gli elementi che sono inseriti e tolti dalla pila sono numeri interi Pila di Oggetti Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577 234850 - interno: 7102 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

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

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

Dettagli

Corso di Reti di Calcolatori L-A

Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 2 (svolta) Socket Java con connessione Luca Foschini Anno accademico 2009/2010 Esercitazione 2 1 Architettura

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

Jav@Lab Il linguaggio Java I file sequenziali

Jav@Lab Il linguaggio Java I file sequenziali Jav@Lab Il linguaggio Java I file sequenziali Input e Output Secondo i canoni dei linguaggi di programmazione "procedurali" il concetto di input e output è strettamente legato al tipo di dispositivo esterno

Dettagli

Ottava Esercitazione. introduzione ai thread java mutua esclusione

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

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA5 B1 Gestione eventi 1 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti AWT o Swing Programmazione ad eventi 2 1 Introduzione Le interfacce create

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

Parte II: Reti di calcolatori Lezione 10

Parte II: Reti di calcolatori Lezione 10 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione

Dettagli

Parte II: Reti di calcolatori Lezione 12

Parte II: Reti di calcolatori Lezione 12 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 12 Giovedì 16-04-2015 1 Confronto architetture C/S 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

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

LABORATORIO DI INFORMATICA 1 2014-2015. - parte 6 -

LABORATORIO DI INFORMATICA 1 2014-2015. - parte 6 - LABORATORIO DI INFORMATICA 1 2014-2015 - parte 6 - Lettura da File Obiettivo: leggere un file Per prima cosa dobbiamo creare un oggetto che rappresenti il file che vogliamo utilizzare (inserendo anche

Dettagli

Java Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010

Java Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Java Applet 1 Application VS Applet Una

Dettagli

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

Dettagli

Funzioni in C. Violetta Lonati

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

Dettagli

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2)

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2) Gestione di errori e situazioni eccezionali Gestione delle eccezioni Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione

Dettagli

Con il pulsante Start si introducono palline che rimbalzano in un area di disegno fino a che non è terminato il loro ciclo di vita (1000 movimenti).

Con il pulsante Start si introducono palline che rimbalzano in un area di disegno fino a che non è terminato il loro ciclo di vita (1000 movimenti). Rimbalzi. import java.awt.*; import java.awt.event.*; import java.applet.applet; public class Bounce extends Applet implements ActionListener { private Canvas canvas; private Button b1; private Button

Dettagli

4. Un ambiente di sviluppo per Java

4. Un ambiente di sviluppo per Java pag.15 4. Un ambiente di sviluppo per Java Esistono in commercio molti ambienti di sviluppo utilizzati dai programmatori Java, in particolare si tratta di editor complessi che mettono a disposizione tools

Dettagli

Flussi, lettori e scrittori

Flussi, lettori e scrittori Flussi, lettori e scrittori Per sequenze di byte, InputStream, OutputStream e loro sottoclassi. Es: InputStream in = ; int next = in. read(); if (next!= -1) byte b = (byte) next; Per sequenze di caratteri,

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

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

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Http con java, URL Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

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

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP (VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP D /LQH&OLHQWH6HUYHU Sviluppare un applicazione C/S in cui: i inviano al server pacchetti (vuoti) che vengono interpretati dal server come richiesta

Dettagli

Geom. Giofrè Vincenzo Pasquale Il manuale per la facoltà di ingegneria

Geom. Giofrè Vincenzo Pasquale Il manuale per la facoltà di ingegneria Geom. Giofrè Vincenzo Pasquale Il manuale per la facoltà di ingegneria Copyright 1992 2006 SystemGVP Presentazione Il linguaggio Java nasce nel 1995 dai programmatori della Sun Microsystem. La sua popolarità

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

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

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication

Dettagli

Programmazione Java: Interfacce grafiche (GUI)

Programmazione Java: Interfacce grafiche (GUI) Programmazione Java: Interfacce grafiche (GUI) romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp ( 1 ) (GUI) Interfacce grafiche Rendere facili le cose semplici e possibili le cose difficili

Dettagli

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

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

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

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

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

10.4. La classe File e gli attributi di directory e file

10.4. La classe File e gli attributi di directory e file pag.143 10.4. La classe File e gli attributi di directory e file Questa classe, molto utile per operare con i file su disco, consente di accedere alle directory, verificare e acquisire le caratteristiche

Dettagli

Corso di Laurea in Informatica e Comunicazione Digitale. a.a. 2006-2007. Interazione Uomo-Macchina. Introduzione a Java.

Corso di Laurea in Informatica e Comunicazione Digitale. a.a. 2006-2007. Interazione Uomo-Macchina. Introduzione a Java. Corso di Laurea in Informatica e Comunicazione Digitale a.a. 2006-2007 Interazione Uomo-Macchina Introduzione a Java Seconda Parte Irene Mazzotta Giovanni Cozzolongo Vincenzo Silvetri 1 Richiami: Java

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

Unità B3 Strutture di controllo

Unità B3 Strutture di controllo (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: I/O su console Package Blocco di controllo Oggetto System.out Oggetto System.in Oggetto Tastiera Metodo readline() Strutture

Dettagli

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità: 7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)

Dettagli

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

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

Dettagli