La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Torna alla prima pagina Il linguaggio java Esercitazioni del corso di Sistemi Informativi Marina Mongiello

Presentazioni simili


Presentazione sul tema: "Torna alla prima pagina Il linguaggio java Esercitazioni del corso di Sistemi Informativi Marina Mongiello"— Transcript della presentazione:

1 Torna alla prima pagina Il linguaggio java Esercitazioni del corso di Sistemi Informativi Marina Mongiello

2 Torna alla prima pagina Documentazione su java n Jdk(Java Development Kit) F versioni 1.0 e successive disponibili sul sito internet: n Ambienti di sviluppo integrato (IDE): F Inprise J-builder F Java Workshop

3 Torna alla prima pagina Java è: n Portabile: non prevede aspetti dipendenti dallimplementazione es. le dimensioni dei tipi predefiniti sono fisse n Indipendente dallarchitettura: il compilatore genera un bytecode interpretabile in processori diversi n Robusto: il compilatore riscontra molti errori che in altri linguaggi sono riscontrabili solo in esecuzione n Sicuro: è destinato alluso in ambienti distribuiti e di rete

4 Torna alla prima pagina Programmi Java n Java consente di realizzare due tipi di programmi: u applet: programmi memorizzati su un computer remoto a cui lutente può connettersi mediante un browser web u applicazioni: comuni programmi memorizzati ed eseguiti sul computer locale n Il compilatore java genera un bytecode che verrà successivamente interpretato dalla macchina virtuale java

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

6 Torna alla prima pagina Lapplet n Un documento HTML contiene un riferimento allapplet; lHTML dispone di tag per gestire applet es. n Il loader del browser web carica da un computer remoto lapplet tramite la rete per eseguirla sul computer locale n Il browser ha un interprete java che esegue le istruzioni del bytecode F se si usa jdk dalla shell dos si può usare il comando: appletviewer program.html per visualizzare lapplet sul computer locale

7 Torna alla prima pagina HTML page Lapplet n Java consente di eseguire applet allinterno di browser Web client server HTML source Browser Web Java Class Java interpreter request

8 Torna alla prima pagina Applicazioni stand alone n Unapplicazione java è caricata in memoria dallinterprete java che ha anche la funzione eseguire il bytecode dellapplicazione F se si sta usando jdk dalla shell dos si esegue il comando: java program

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

10 Torna alla prima pagina La programmazione OO n Elementi fondamentali u Classi e oggetti u Metodi u Messaggi u Interfacce n Proprietà u ereditarietà (riuso del software) u incapsulamento (information hiding) u polimorfismo

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

12 Torna alla prima pagina Classi e Oggetti in java n Classe è lunità fondamentale dei programmi java u definisce la struttura degli oggetti u contiene campi e metodi n Sintassi per la definizione di una classe: F ModificatoreAccesso class Nomeclasse {//definizione dei campi // definizione dei metodi } n Creazione di un oggetto creazione di unistanza della classe n Sintassi per la creazione di un oggetto F NomeClasse oggetto = new CostruttoreClasse(); Metodo costruttore

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

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

15 Torna alla prima pagina Gerarchia dellereditarietà: linsieme delle classi che si estendono da una classe padre comune Ereditarietà Classe padre o superclasse Classe derivata o sottoclasse n Le sottoclassi u ereditano le funzionalità delle superclassi u hanno più funzionalità delle superclassi n I metodi delle classi esistenti sono riutilizzabili o modificabili n Nuovi campi o nuovi metodi possono essere aggiunti per adattarli a situazioni nuove Employee ManagerSecretaryProgrammer Executive Le classi possono essere costruite a partire da altre classi

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

17 Torna alla prima pagina Incapsulamento n Combinazione di dati e comportamenti in un unico package Incapsulamento in java n I dettagli implementativi sono nascosti allinterno di una classe n Non deve essere consentito agli oggetti di manipolare dati interni ad altri oggetti n La comunicazione deve avvenire solo tramite messaggi

18 Torna alla prima pagina Polimorfismo n Rende il software facilmente estensibile e ne aumenta la manutenibilità n Capacità di un oggetto di decidere quale metodo applicare a se stesso in base alla posizione nella gerarchia dellereditarietà n Overloading: se più metodi hanno lo stesso nome ma argomenti diversi linterprete java sceglie quale metodo chiamare u anche per i metodi costruttori è consentito loverloading: è possibile scrivere più metodi costruttori per una classe Polimorfismo in java

19 Torna alla prima pagina Interfacce n Java non gestisce lereditarietà multipla: u una classe può avere una sola superclasse u le interfacce sono utilizzate per fronteggiare situazioni in cui è necessario che una classe rifletta il comportamento di due o più classi padre n Linterfaccia può essere implementata da una classe: u la classe definisce le modalità di funzionamento dei metodi propri dellinterfaccia u la parola chiave implements indica che una classe implementa uninterfaccia

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

21 Torna alla prima pagina 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

22 Torna alla prima pagina Java API packages n java.applet: contiene la classe Applet e le interfacce per abilitare la creazione di applet e linterazione tra applet e browser n java.awt: contiene le classi e le interfacce necessarie per creare e manipolare interfacce grafiche Abstract Windowing Toolkit n java.io: contiene le classi per abilitare linput e loutput di dati n java.lang: è importato automaticamente dal compilatore java; contiene le classi e e le interfacce richieste da molti programmi n java.net: contiene le classi per abilitare la comunicazione via Internet o Intranet n java.sql:classi e interfacce per gestire linterazione con database

23 Torna alla prima pagina Programmazione grafica n 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 n Java 2.0 introduce i componenti SWING non basato su peer in cui gli elementi grafici assumo la stesso comportamento su qualsiasi piattaforma

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

25 Torna alla prima pagina Interfacce del pacchetto java.awt.event n ActionListener n Adjustment Listener n ComponentListener n ContainerListener n FocusListener n ItemListener n KeyListener n MouseListener n MouseMotionListener n TextListener n WindowListener

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

27 Torna alla prima pagina Componenti dellinterfaccia utente n Pulsanti Button (JButton) n Pannelli Panel (JPanel) n Input di testo F campi di testo (JtextField) F aree di testo (JTextArea) n Etichette Label (JLabel) n Caselle di controllo : Checkbox n Pulsanti di scelta: RadioButton n Elenchi : List (JList) n Caselle combinate: ComboBox n Barre di scorrimento: ScrollBar (JScrollBar)

28 Torna alla prima pagina Object Component Container Window Frame JFrame Dialog JDialog JComponent JButton JMenuItem JToggleButton JCheckBox JRadioButton JLabel JList JMenuBar JOptionPanel JPanel JScrollBar JText Component Abstract button JTextField JTextArea JComboBox Gerarchia dei componenti dellinterfaccia utente

29 Torna alla prima pagina Altre caratteristiche di java n assenza di puntatori n garbage collection automatica n multithreading n è case sensitive


Scaricare ppt "Torna alla prima pagina Il linguaggio java Esercitazioni del corso di Sistemi Informativi Marina Mongiello"

Presentazioni simili


Annunci Google