La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il linguaggio java Esercitazioni del corso di Sistemi Informativi

Presentazioni simili


Presentazione sul tema: "Il linguaggio java Esercitazioni del corso di Sistemi Informativi"— Transcript della presentazione:

1 Il linguaggio java Esercitazioni del corso di Sistemi Informativi
Marina Mongiello

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

3 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

4 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

5 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

6 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

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

8 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

9 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

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

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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

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

23 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

24 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

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

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

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

28 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

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


Scaricare ppt "Il linguaggio java Esercitazioni del corso di Sistemi Informativi"

Presentazioni simili


Annunci Google