IL CONCETTO DI PACKAGE

Documenti analoghi
Il concetto di Package

CLASSI e FILE I PACKAGE

Programmazione orientata agli oggetti Classi, package e file system. Package

Concetti base. Java - package 2

OO puro. Primi concetti di Java. Tipi primitivi. Ogni cosa è un oggetto. Java è object-oriented puro Non come il C+ + (OO ibrido) Lorenzo Bettini

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Linguaggi di Programmazione: Paradigmi di Programmazione

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo

Istallazione di Java - Uso delle librerie

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

Definizione di metodi in Java

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java

Package. Un package è una collezione di classi logicamente connesse che possono interagire tra loro.

Esercitazione n 1. Obiettivi

Le basi del linguaggio Java

Definizione di classi. Walter Didimo

Prof. Pagani corrado JAVA

AMBIENTI DI PROGRAMMAZIONE

Fondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti

Oggetti. Oggetti e classi. Utilizzo di classi. Classe

Introduzione alla programmazione

Introduzione alla Programmazione in Java attraverso un esempio commentato

Programmazione ad Oggetti. Java Parte II

Java Le stringhe. Stringhe

Introduzione alla programmazione. Walter Didimo

Introduzione a Java. Riferimenti

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Programmazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali

I metodi statici non hanno il parametro implicito

public protected private private package

Introduzione Programmazione Java

Concetto di Funzione e Procedura METODI in Java

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

Programmazione Java Finalization di oggetti, Package, Modificatori di accesso

Modulo 2: Strutture fondamentali della programmazione Java

Esonero di Informatica I. Ingegneria Medica

Programmazione orientata agli oggetti Il modello di Java. OOP in Java

Programmazione Orientata agli Oggetti in Linguaggio Java

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

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Definizione di una classe

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

la traduzione dei programmi ed introduzione a Java

Modelli di interazione tra processi

Il linguaggio Java: aggiunte in Java 1.5

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

Classpath e Esercizi su RMI

Oggetti e classi. Cos è un oggetto

Definizione di metodi

La Gestione della Memoria. Carla Binucci e Walter Didimo

Uso di metodi statici. Walter Didimo

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Corso sul linguaggio Java

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Agenda

STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

TIPI PRIMITIVI E CLASSI WRAPPER

Java: Definire Classi e Creare Oggetti

Esempio: Costruttori ed ereditarietà

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

Ambienti di Sviluppo. Linguaggi compilati

Oggetto software. stati o proprietà (variabili) comportamenti o metodi (funzioni)

Sistema Operativo. (hardware e software) della della macchina

Riassunto. Rassegna API - 1. Scaletta. Package. package. import. Stefano Mizzaro 1. Programmazione strutturata TDA OO. OO in Java

Le basi del linguaggio Java

Lezione 6 programmazione in Java

Metodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere:

Lezione 6. Visibilità degli identificatori e tempo di vita degli oggetti

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

Esempio 2: Subtyping

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Lezione 9 programmazione in Java Classi come contenitori

Scope e visibilità per classi

Strumenti per la programmazione

domenica 9 giugno 13 Serializzazione

Esercitazione n 2. Obiettivi

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

Definizione di metodi

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Introduzione a Visual Studio Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Introduzione agli oggetti

STRUTTURA DI UN PROGRAMMA

Riassunto. Rassegna API - 1. Scaletta. Package. package. import. Stefano Mizzaro 1. Programmazione strutturata TDA. OO in Java

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

Indice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma

Linguaggi Object Oriented: Principi e Introduzione a Java

Tipi di Dati Astratti

IL LINGUAGGIO JAVA. CARATTERISTICHE di JAVA

Funzioni, Stack e Visibilità delle Variabili in C

DISTRIBUIRE UN'APPLICAZIONE

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Transcript:

IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costituiscono una unità concettuale. un package può comprendere parecchie classi anche definite in file separati Una dichiarazione di package ha la forma: package <nomepackage> ; Se presente, deve essere all inizio di un file. 1

ESEMPIO package pippo; public class Counter {... } File Counter.java package pippo; File Esempio4.java public class Esempio4 { public static void main(string args[]){ } } 2

PACKAGE E FILE SYSTEM Esiste una corrispondenza biunivoca fra nome del package posizione nel file system delle classi del package Un package di nome pippo richiede che tutte le sue classi si trovino in una cartella (directory) di nome pippo pippo Counter.java Esempio4.java 3

COMPILAZIONE... Per compilare una classe Counter che fa parte di un package pippo occorre: porsi nella cartella superiore a pippo e lì invocare il compilatore con il percorso completo della classe: javac pippo/counter.java pippo Counter.java Esempio4.java 4

COMPILAZIONE... Per compilare una classe Counter che fa parte di un package pippo occorre: Non c è scelta: ogni altro modo di invocare il compilatore è errato! porsi nella cartella superiore a pippo e lì invocare il compilatore con il percorso completo della classe: javac pippo/counter.java pippo Counter.java Esempio4.java 5

ED ESECUZIONE Per eseguire una classe Esempio4 che fa parte di un package pippo occorre: porsi nella cartella superiore a pippo e lì invocare l interprete con il nome assoluto della classe: java pippo.esempio4 Anche qui, nessuna alternativa pippo Counter.class Esempio4.class 6

PACKAGE DI DEFAULT Se una classe non dichiara di appartenere ad alcun package, è automaticamente assegnata al package di default Per convenzione, questo package fa riferimento alla cartella (directory) corrente è l approccio usato in tutti i precedenti esempi si possono compilare ed eseguire i file nella cartella in cui si trovano, senza premettere percorsi o nomi assoluti 7

SISTEMA DEI NOMI DEI PACKAGE Sono possibili nomi di package strutturati, come: java.awt.print pippo.pluto.papero ATTENZIONE: questo non significa che un package ne contenga un altro! pippo.pluto.papero è un package indipendente da un eventuale package pippo.pluto Le classi di tali package hanno perciò un nome assoluto strutturato: java.awt.print.book pippo.pluto.papero.counter 8

SISTEMA DEI NOMI: DIFETTO Ogni volta che si usa una classe, Java richiede che venga denotata con il suo nome assoluto: java.awt.print.book b; b = new java.awt.print.book(); Questo è chiaramente scomodo se il nome è lungo e la classe è usata frequentemente. Per tale motivo si introduce il concetto di importazione di nome. 9

IMPORTAZIONE DI NOMI Per evitare di dover riscrivere più volte il nome assoluto di una classe, si può importarlo: import java.awt.print.book; Da questo momento, è possibile scrivere semplicemente Book invece del nome completo java.awt.print.book Per importare in un colpo solo tutti i nomi pubblici di un package, si scrive import java.awt.print.*; 10

IMPORTAZIONE DI NOMI Attenzione: l import è ben diversa dalla #include del C in C, il pre-processore gestisce la #include copiando il contenuto del file specificato nella posizione della #include stessa in Java non esiste alcun pre-processore, e non si copia assolutamente nulla si stabilisce solo una scorciatoia per scrivere un nome corto al posto di uno lungo. 11

PACKAGE E VISIBILITÀ Oltre a pubblico / privato, in Java esiste un terzo tipo di visibilità: la visibilità package È l'impostazione predefinita per classi e metodi non esiste quindi una parola chiave per indicarla Significa che dati e metodi sono accessibili solo per le altre classi dello stesso package in qualunque file siano definite Altre classi, definite in altri package, non possono accedere a dati e metodi di questo package qualificati a visibilità package, esattamente come se fossero privati. 12

PACKAGE E VISIBILITÀ Oltre a pubblico / privato, in Java esiste un A differenza del C, il file rimane solo terzo tipo di visibilità: la visibilità package un contenitore fisico, non definisce È l'impostazione più uno scope di predefinita visibilità. per classi e metodi non esiste quindi una parola chiave per indicarla Significa che dati e metodi sono accessibili solo per le altre classi dello stesso package in qualunque file siano definite Altre Non classi, è quindi definite possibile, in altri né sensato, package, non possono pensare accedere di definire a una dati classe e metodi visibile di in questo package un solo qualificati file: la visibilità a visibilità esprime package, solo con riferimento ai package. esattamente come se fossero privati. 13

IL PACKAGE java.lang Il nucleo centrale dal linguaggio Java è definito nel package java.lang È sempre importato automaticamente: la frase import java.lang.* è sottintesa java.lang definisce i tipi primitivi e buona parte della classi di sistema Molte altre classi standard sono però definite altrove: ci sono più di 50 package java.awt, java.util, java.io, java.text,... javax.swing,... 14