Il linguaggio java Esercitazioni del corso di Sistemi Informativi

Slides:



Advertisements
Presentazioni simili
Programmazione in Java
Advertisements

Unit à E4 Applet. Obiettivi Saper progettare e realizzare Applet Java allinterno di pagine HTML Comprendere le interazioni tra il browser e lapplet Saper.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
Applet Java.
Informatica Recupero debito quarto anno Terzo incontro.
Unit à E3 Eventi. Obiettivi Conoscere il concetto di evento e gestore di evento Conoscere i pulsanti in Swing e la gestione dellevento clic Saper gestire.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
26/10/2004Laboratorio di Programmazione - Luca Tesei1 Variabili e Oggetti Lo spazio di memoria di Java Le API di Java.
Massa Laura Mela Enrica
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Fondamenti di Informatica
GUI Graphical Users Interfaces
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Applet Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Grafica Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
Introduzione al linguaggio Java
1 Eventi/2 Più movimento alle classi. 2 Eventi Java Modo per intercettare il verificarsi di certe condizioni / azioni e fare in modo che venga eseguito.
1 Grafica ed eventi/2 Più movimento alle classi. 2 Esercizio n.1 Realizzare una applicazione che permette il trascinamento di una ellissi allinterno di.
Più movimento alle classi
Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4 1 Il package java.awt Gestione dellI/O orientato alla grafica: le finestre Sviluppo di interfacce.
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Approfondimento delle classi
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Java base IV: Java e la programmazione O.O.
Argomenti della lezione
IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costi- tuiscono.
APPLICAZIONI & APPLET Java è un ottimo linguaggio per costruire applicazioni anche non per Internet anche non grafiche ma si è diffuso storicamente, e.
Programmazione in Java
Programmazione in Java (8)
Java Contardi Carlo A.S. 2008/09.
Introduzione alla programmazione Object Oriented
Il Sistema Operativo (1)
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
1 Applet ed HTML Fondamenti di Informatica Corso D.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Programmazione ad oggetti
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Interfacce grafiche Capitolo 27 marzo 2004 Interfacce grafiche.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Timer Animazioni.
1 Osservazioni Generali Struttura di programma Gerarchia di classi: overloading, overriding, e dispatching Analisi ed esecuzione Modificabilità e condivisione.
Fondamenti di Informatica II Ingegneria Informatica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
La Programmazione ad Oggetti
Eprogram informatica V anno.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
28/12/2001package 1 Package Pacchetti e interfacce.
Programmazione orientata agli Oggetti Introduzione a Java.
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Transcript della presentazione:

Il linguaggio java Esercitazioni del corso di Sistemi Informativi Marina Mongiello mongiello@poliba.it

Documentazione su java Jdk(Java Development Kit) versioni 1.0 e successive disponibili sul sito internet: http://java.sun.com Ambienti di sviluppo integrato (IDE): Inprise J-builder Java Workshop

Java è: Portabile: non prevede aspetti dipendenti dall’implementazione es. le dimensioni dei tipi predefiniti sono fisse Indipendente dall’architettura: il compilatore genera un bytecode interpretabile in processori diversi Robusto: il compilatore riscontra molti errori che in altri linguaggi sono riscontrabili solo in esecuzione Sicuro: è destinato all’uso in ambienti distribuiti e di rete

Programmi Java Java consente di realizzare due tipi di programmi: applet: programmi memorizzati su un computer remoto a cui l’utente può connettersi mediante un browser web applicazioni: comuni programmi memorizzati ed eseguiti sul computer locale Il compilatore java genera un bytecode che verrà successivamente interpretato dalla macchina virtuale java

La java virtual machine JVM Creazione ed esecuzione di un programma java fase 1: creazione del programma sorgente con estensione .java fase 2: compilazione e creazione di un bytecode, un codice intermedio portabile con estensione .class fase 3: caricamento del bytecode in memoria primaria fase 4: verifica del bytecode. fase 5: interpretazione del bytecode da parte della JVM

L’applet Un documento HTML contiene un riferimento all’applet; l’HTML dispone di tag per gestire applet es. <applet code> Il loader del browser web carica da un computer remoto l’applet tramite la rete per eseguirla sul computer locale Il browser ha un interprete java che esegue le istruzioni del bytecode se si usa jdk dalla shell dos si può usare il comando: appletviewer program.html per visualizzare l’applet sul computer locale

L’applet Java consente di eseguire applet all’interno di browser Web Class client HTML source server Browser Web HTML page request Java interpreter

Applicazioni stand alone Un’applicazione java è caricata in memoria dall’interprete java che ha anche la funzione eseguire il bytecode dell’applicazione se si sta usando jdk dalla shell dos si esegue il comando: java program

Java Virtual Machine Disk Shell Dos program.java Editor javac program.java Compiler program.class Primary Memory bytecode Class Loader Browser Web o appletviewer program.html applet Interpreter java program application application applet

La programmazione OO Elementi fondamentali Proprietà Classi e oggetti Metodi Messaggi Interfacce Proprietà ereditarietà (riuso del software) incapsulamento (information hiding) polimorfismo

Classi e Oggetti Il programma è costituito da oggetti Classe: modello o schema di un oggetto Oggetto: una istanza della classe Le classi consentono la creazione di più oggetti con lo stesso comportamento Lo stato di un oggetto può cambiare nel tempo in conseguenza dei messaggi inviati Ogni oggetto ha un propria identità

Classi e Oggetti in java Classe è l’unità fondamentale dei programmi java definisce la struttura degli oggetti contiene campi e metodi Sintassi per la definizione di una classe: ModificatoreAccesso class Nomeclasse {//definizione dei campi // definizione dei metodi } Creazione di un oggetto  creazione di un’istanza della classe Sintassi per la creazione di un oggetto NomeClasse oggetto = new CostruttoreClasse(); Metodo costruttore

Metodi e Messaggi I metodi: Definiscono le operazioni che la classe può effettuare Operano sui campi della classe La comunicazione tra oggetti avviene mediante messaggi: chiamate di metodi sono una generalizzazione delle chiamate tra funzioni: se un oggetto deve eseguire un’operazione non prevista dalle proprie responsabilità, ha necessità di chiedere ad un secondo oggetto di eseguire l’operazione inviando un messaggio

Metodi in java Sintassi per definire un metodo ModificatoreAccesso tipo_restituito nome_metodo (Lista argomenti) { // dichiarazioni e statement} Sintassi per chiamare un metodo: oggetto.metodo(argomenti) Metodi costruttori usati per inizializzare gli oggetti di una classe new costruttore permette di creare un nuovo oggetto nella classe hanno lo stesso nome della classe se il codice della classe non specifica alcun costruttore java fornisce costruttori predefiniti - senza argomenti - che inizializzano i valori a quelli predefinti

Ereditarietà Le classi possono essere Classe padre o superclasse Classe derivata o sottoclasse Le classi possono essere costruite a partire da altre classi Le sottoclassi ereditano le funzionalità delle superclassi hanno più funzionalità delle superclassi I metodi delle classi esistenti sono riutilizzabili o modificabili Nuovi campi o nuovi metodi possono essere aggiunti per adattarli a situazioni nuove Employee Manager Secretary Programmer Gerarchia dell’ereditarietà: l’insieme delle classi che si estendono da una classe padre comune Executive

Ereditarietà in java Java fornisce un insieme di classi e metodi predefiniti disponibili in librerie di classi Java API Le librerie di classi sono organizzate in packages La parola chiave extends indica che si sta creando una nuova classe derivante da una esistente In java tutte le classi estendono una classe base Object la parola chiave import indica dove è localizzata la classe che si sta importando Una classe che ne estende un’altra possiede inzialmente tutti i metodi della classe parent ma può fornirne di nuovi Si usa il modificatore d’accesso final per disabilitare l’ereditarietà Java non gestisce l’ereditarietà multipla ossia la situazione in cui una classe deve riflettere il comportamento di due o più classi padre

Incapsulamento Incapsulamento in java I dettagli implementativi sono nascosti all’interno di una classe Non deve essere consentito agli oggetti di manipolare dati interni ad altri oggetti La comunicazione deve avvenire solo tramite messaggi Incapsulamento in java Combinazione di dati e comportamenti in un unico package

Polimorfismo Polimorfismo in java Rende il software facilmente estensibile e ne aumenta la manutenibilità Capacità di un oggetto di decidere quale metodo applicare a se stesso in base alla posizione nella gerarchia dell’ereditarietà Polimorfismo in java Overloading: se più metodi hanno lo stesso nome ma argomenti diversi l’interprete java sceglie quale metodo chiamare anche per i metodi costruttori è consentito l’overloading: è possibile scrivere più metodi costruttori per una classe

Interfacce Java non gestisce l’ereditarietà multipla: una classe può avere una sola superclasse le interfacce sono utilizzate per fronteggiare situazioni in cui è necessario che una classe rifletta il comportamento di due o più classi padre L’interfaccia può essere implementata da una classe: la classe definisce le modalità di funzionamento dei metodi propri dell’interfaccia la parola chiave implements indica che una classe implementa un’interfaccia

Modificatori di accesso Specificano da chi può essere usato il metodo o la classe public: visibile ovunque private: visibile alla sola classe di appartenenza protected: visibili dal package e dalle sue sottoclassi Metodi static non sono legati ad alcuna particolare istanza della classe e sono Un campo static è tale che tutte le istanze della classe condividono un’unica copia del campo

Esempi di codice java // applicazione public class example { public static void main (String []args) { System.out.println(“example”); } } // applet public class example extends Applet { public void paint(Graphics g) {} //interfaccia public interface Comparable { public incompareTo(Object b);} class Tile extends Rectangle implements Comparable {} Esercizi svolti sono disponibili

Java API packages java.applet: contiene la classe Applet e le interfacce per abilitare la creazione di applet e l’interazione tra applet e browser java.awt: contiene le classi e le interfacce necessarie per creare e manipolare interfacce grafiche Abstract Windowing Toolkit java.io: contiene le classi per abilitare l’input e l’output di dati java.lang: è importato automaticamente dal compilatore java; contiene le classi e e le interfacce richieste da molti programmi java.net: contiene le classi per abilitare la comunicazione via Internet o Intranet java.sql:classi e interfacce per gestire l’interazione con database

Programmazione grafica Da Java 1.0 le librerie grafiche sono contenute nel package AWT che utilizza un approccio basato sui peer, delegando la creazione e il comportamento delle interfacce al toolkit GUI nativo delle piattaforme di destinazione Java 2.0 introduce i componenti SWING non basato su peer in cui gli elementi grafici assumo la stesso comportamento su qualsiasi piattaforma

Gestione degli eventi Eventi: pressione di tasti o clic del mouse gestibili con interfacce grafiche Il sistema operativo rileva eventi di questo tipo e li segnala ai programmi java definisce sorgenti di eventi: rilevatori di eventi (event listener) Le informazioni sugli eventi sono incapsulate in oggetto evento

Interfacce del pacchetto java.awt.event ActionListener Adjustment Listener ComponentListener ContainerListener FocusListener ItemListener KeyListener MouseListener MouseMotionListener TextListener WindowListener

Il package javax.swing Le classi swing si trovano nel package javax.swing, non un package appartenente al nucleo del linguaggio, ma un’estensione di java 1.1 Tutti i componenti awt possiedono il corrispondente swing ( es. Frame Jframe)

Componenti dell’interfaccia utente Pulsanti Button (JButton) Pannelli Panel (JPanel) Input di testo campi di testo (JtextField) aree di testo (JTextArea) Etichette Label (JLabel) Caselle di controllo : Checkbox Pulsanti di scelta: RadioButton Elenchi : List (JList) Caselle combinate: ComboBox Barre di scorrimento: ScrollBar (JScrollBar)

Gerarchia dei componenti dell’interfaccia utente Object Component Container Window Frame JFrame Dialog JDialog JComponent JButton JMenuItem JToggleButton JCheckBox JRadioButton JLabel JList JMenuBar JOptionPanel JPanel JScrollBar JText Abstract button JTextField JTextArea JComboBox Gerarchia dei componenti dell’interfaccia utente

Altre caratteristiche di java assenza di puntatori garbage collection automatica multithreading è case sensitive