15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo



Documenti analoghi
14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

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

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

23 - Graphical User Interface GUI (Cenni)

Scope e visibilità per classi

Dichiarazioni di import: Introduzione

Il linguaggio Java. Concetti base. I packages

Eclipse - Nozioni Base

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Esercitazione. Programmazione Object Oriented in Java

Inizializzazione, Assegnamento e Distruzione di Classi

Funzioni in C. Violetta Lonati

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

2 - Introduzione al linguaggio Java

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

Programmazione a Oggetti Modulo B

Esercitazione n 4. Obiettivi

I metodi statici -1. Variabili statiche Vogliamo assegnare a ciascuncontoun numeroidentificativo diverso. I metodi statici -2

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

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

10 - Programmare con gli Array

Tale attività non è descritta in questa dispensa

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

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

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

Progettazione : Design Pattern Creazionali

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

Concetto di Funzione e Procedura METODI in Java

UML Diagrammi delle classi. UML Diagramma classi 1

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

20 - Input/Output su File

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Organizzazione delle informazioni: Database

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

IL SISTEMA INFORMATIVO

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

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

Programmi e Oggetti Software

La velocità di una carovana

Modulo 4: Ereditarietà, interfacce e clonazione

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

Informatica (Basi di Dati)

SOMMARIO DIAGRAMMI DEI PACKAGE

* Creare un documento unico di iscrizione in formato tessera (card) per tutti gli iscritti all Ordine dei Consulenti del Lavoro che:

Programmazione ad oggetti

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Programmazione a oggetti e JAVA. Prof. B.Buttarazzi A.A. 2011/2012

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Definizione di classi con array di oggetti

Introduzione a Classi e Oggetti

Oggetti Lezione 3. aspetti generali e definizione di classi I

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

GESTIONE DEI PROCESSI

Object Oriented Software Design

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Introduzione a Dev-C++

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

SAPIENZA Università di Roma, Facoltà di Ingegneria

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Test di unità con JUnit4

Corso Eclipse. Prerequisiti. 1 Introduzione

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Strutturazione logica dei dati: i file

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

ORGANIZZAZIONE PRODOTTI

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Strumenti per la programmazione

Web Application Libro Firme Autorizzate

CONTENUTI 1. INTRODUZIONE CONCETTI BASICI SU EQUINOX CMS XPRESS ACCESSO A EQUINOX CMS XPRESS PAGINA D INIZIO...

Controllo degli accessi

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Elementi di UML (7): Diagrammi dei componenti e di deployment

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

CRM Configurazione e gestione accessi

Algoritmi di Ricerca. Esempi di programmi Java

Sequenza alternativa degli eventi: Variazione di prezzo superiore al 20% per almeno un articolo.

Programmazione Java: Interfacce grafiche (GUI)

esercizi Esercizi / problemi

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

18 - Classi parzialmente definite: Classi Astratte e Interfacce

17 - Classi parzialmente definite: Classi Astratte e Interfacce

Groups vs Organizational Units. A cura di Roberto Morleo

Transcript:

15 - Packages 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 Laurea Magistrale in Informatica Umanistica A.A. 2013/2014 Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 1 / 9

Packages (1) I packages in Java sono un meccanismo che consente di raggruppare le classi. La Libreria Standard di Java (Java API) è organizzata in packages: String è una classe del package java.lang Scanner è una classe del package java.util Un package riunisce classi logicamente correlate tra loro, ad esempio: Il package java.lang riunisce classi fondamentali del linguaggio Java (String, Math, ) Il package java.util riunisce classi di frequente utilizzo (Scanner, Random, Timer, ) I packages java.awt e java.swing riuniscono classi per costruire interfacce grafiche Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 2 / 9

Packages (2) Spesso è utile definire uno o più packages per le proprie classi: quando il programma inizia a diventare complesso (molte classi) un raggruppamento in packages può consentire di fare ordine ad esempio, se stiamo realizzando un programma di gestione di una banca potremmo organizzare le nostre classi nei seguenti packages: core per le classi che costituiscono il nucleo del nostro programma (gestione conti correnti, utenti, ecc...) gui per le classi che gestiscono l interfaccia grafica (Graphical User Interface, GUI) net per le classi che gestiscono il collegamento via rete con la sede centrale Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 3 / 9

Packages (3) Per specificare in quale package debba essere inclusa una classe bisogna usare la primitiva package all inizio del file sorgente della classe stessa package core ; public class ContoCorrente {. Inoltre, i file java delle varie classi devono essere salvati in diverse directory che corrispondono ai vari packages. Il compilatore Java da errore se i file non sono nelle directory giuste... Se non si specifica nessun package, la classe farà parte del package default corrispondente alla directory principale Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 4 / 9

Packages (4) I packages possono essere ulteriormente raggruppati, formando una struttura gerarchica. Il raggruppamento viene fatto tramite un prefisso nel nome del package Nel nostro programma potremmo suddividere i packages tra quelli relativi a filiali, sede centrale e condivisi: filiali.core filiali.gui filiali.net sede.database sede.homebanking common La strutturazione si riflette nell organizzazione in directory! Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 5 / 9

Packages e modificatori di visibilità (1) I packages hanno anche un ruolo legato alla visibilità dei membri di classi. Rivediamo la tabella dei modificatori di visibilità: private senza modificatore protected public Utilizzabile solo all interno della stessa classe Utilizzabile solo nel package che contiene la classe Utilizzabile nel package che contiene la classe, e in tutte le classi che ereditano da essa Utilizzabile ovunque La differenza tra senza modificatore e protected la vedremo a breve... Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 6 / 9

Packages e modificatori di visibilità (2) Esempio: package filiali. core ; public class ContoCorrente { double saldo ; // senza modificatore // altri membri package filiali. core ; public class ControlloreConti { public void controlla ( ContoCorrente x) { if (x. saldo ==0) // OK, stesso package Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 7 / 9

Packages e modificatori di visibilità (3) Esempio: package filiali. core ; public class ContoCorrente { double saldo ; // senza modificatore // altri membri package filiali. gui ; public class FinestraPrincipale { public void visualizzasaldo ( ContoCorrente x) { if ( x. saldo ==0) // ERRORE, package diverso Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 8 / 9

Packages e modificatori di visibilità (4) Esempio: package filiali. core ; public class ContoCorrente { double saldo ; // senza modificatore // altri membri public class GestioneFiliale { public static void main ( String [] args ) { if ( x. saldo ==0) // ERRORE, package diverso ( default ) Paolo Milazzo (Università di Pisa) Programmazione - Packages A.A. 2013/2014 9 / 9