IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costi- tuiscono.

Slides:



Advertisements
Presentazioni simili
Programmazione in Java
Advertisements

Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
26/10/2004Laboratorio di Programmazione - Luca Tesei1 Variabili e Oggetti Lo spazio di memoria di Java Le API di Java.
29/10/2004Laboratorio di Programmazione - Luca Tesei1 Metodi e variabili istanza Definizione e chiamata di metodi Uso delle variabili istanza Documentazione.
Massa Laura Mela Enrica
Programmazione Ingegneria TLC
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Fondamenti di Informatica
Anno accademico Le classi di memorizzazione.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Fisica Computazionale I - 51 OPERAZIONI DI INPUT/OUTPUT Le operazioni di input/output sono estremamente complesse perche' implicano una sostanziale interazione.
Fisica Computazionale I - 31 UTILIZZARE OGGETTI GIA' ESISTENTI Abbiamo visto che un programma Java puo' fare riferimento ed utilizzare oggetti, cioe' altre.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Introduzione al linguaggio Java
Scomposizione di stringhe
Derivazione tra classi
Approfondimento delle classi
Primi programmi in Java
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
nome: sequenza di caratteri usata per denotare un oggetto
LA DOCUMENTAZIONE È noto che un buon programma dovrebbe essere ben documentato.. ma lesperienza insegna che quasi mai ciò viene fatto! –non cè tempo, ci.
IL TEMA DELLA RIUSABILITÀ Si vuole riusare tutto ciò che può essere riusato (componenti, codice, astrazioni) Non è utile né opportuno modificare codice.
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
Introduzione a:. Nella prima parte di questo corso si vedranno i CONCETTI di: CLASSE (programma) METODO (Algoritmi e dati) CONCETTI CLASSICI DI PROGRAMMAZIONE.
Programmazione in Java
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Java Contardi Carlo A.S. 2008/09.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Programmazione concorrente
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: ________________________________________________________________________________.
1 Applet ed HTML Fondamenti di Informatica Corso D.
© M. Badella, G. Malnati, L. Tessitore Programmazione ad Oggetti A.A Package.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Lezione 3.
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Libreria standard.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
CORSO DI PROGRAMMAZIONE II Lezione 22
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Programmazione ad oggetti
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
1 Osservazioni Generali Struttura di programma Gerarchia di classi: overloading, overriding, e dispatching Analisi ed esecuzione Modificabilità e condivisione.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Gestione dei thread in Java
Programmazione in Java
ALLOCAZIONE STATICA: LIMITI Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente –la loro esistenza deve essere prevista e.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
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.
1 Java primo contatto Quando le classi fanno la differenza …
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
28/12/2001package 1 Package Pacchetti e interfacce.
Lezione 2 : Basi del linguaggio Variabili. Come visto nella lezione 1 le classi registrano il proprio stato nelle variabili  int cadenza = 0;  int velocita.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costi- tuiscono una unità concettuale. –un package può comprendere parecchie classi –anche definite in file separati Una dichiarazione di package ha la forma: package ; Se presente, deve essere allinizio di un file.

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

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

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

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 Non cè scelta: ogni altro modo di invocare il compilatore è errato!

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

PACKAGE DI DEFAULT Se una classe non dichiara di appartenere ad alcun package, è automaticamente assegnata al package di default Per convenzione, questo package fa riferi- mento alla cartella (directory) corrente –è lapproccio 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

SISTEMA DEI NOMI DEI PACKAGE Il sistema dei nomi dei package è strutturato Perciò, sono possibili nomi di package strutturati, come: java.awt.print pippo.pluto.papero Conseguentemente, le classi di tali package hanno un nome assoluto strutturato: java.awt.print.Book pippo.pluto.papero.Counter

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.

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.*;

IMPORTAZIONE DI NOMI Attenzione: listruzione import non è una #include ! 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 include assolutamente nulla si stabilisce solo una scorciatoia per scri- vere un nome corto al posto di uno lungo.

PACKAGE E VISIBILITÀ Oltre a pubblico / privato, in Java esiste un terzo tipo di visibilità: la visibilità package È il default per classi e metodi 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.

PACKAGE E VISIBILITÀ Oltre a pubblico / privato, in Java esiste un terzo tipo di visibilità: la visibilità package È il default per classi e metodi 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. A differenza del C, il file rimane solo un contenitore fisico, non definisce più uno scope di visibilità! Non è quindi possibile, né sensato, pensare di definire una classe visibile in un solo file: la visibilità si esprime solo con riferimento ai package.

IL PACKAGE java.lang Il nucleo centrale dal linguaggio Java è definito nel package java.lang È sempre importato automaticamente: import java.lang.* è sottintesa Definisce i tipi primitivi e una bella fetta della classi di sistema Molte altre classi standard sono definite altrove: ci sono più di cinquanta package !! –java.awt, java.util, java.io, java.text,... –javax.swing,...