Linguaggi di Programmazione: Paradigmi di Programmazione

Размер: px
Начинать показ со страницы:

Download "Linguaggi di Programmazione: Paradigmi di Programmazione"

Транскрипт

1 Linguaggi di Programmazione: Paradigmi di Programmazione I PACKAGE IN JAVA Matteo Baldoni Dipartimento di Informatica - Universita` degli Studi di Torino C.so Svizzera, I Torino (Italy) [email protected] - URL: Cos e` un package? Perche` usiamo le cartelle (direttori, folder) sul nostro desktop? Perche` desideriamo tenere insieme i file che hanno uno stesso scopo o utilita` Per ritrovare i file con maggiore facilita` in un momento successivo Per archiviare i file piu` facilmente e passarli a qualcun altro Per garantire l unicita` ai nomi dei file Spesso un direttorio e` strutturato in sottodirettori Un package e` una cartella di classi Java I package di Java 2 1

2 Package La cartella dove sviluppiamo un applicativo Java e` un package, il package di default di Java I package possono essere strutturati in sottopackage come le cartelle Possono essere archiviati in file compressi (JAR file) Definiscono spazi dei nomi separati per garantire unicita` agli identificatori da noi utilizzati Le librerie di Java sono tutte organizzate in package e sottopackage I package di Java 3 Package java public classi interfacce util package awt event... I package di Java 4 2

3 Package Come fare della nostra semplice cartella di classi un vero e proprio package? Come utilizzare un package all interno di un file e quindi rendere disponibili le utilita` in esso definite? I package di Java 5 L istruzione package Posso definire che un certo file che contiene una certa classe pubblica e un certo numero di altre classi (non pubbliche!) fa parte di un certo package mediante la parola chiave package package nomedelpackage ; class nomedellaclasse {... } prima istruzione! nomedelpackage. nomedellaclasse I package di Java 6 3

4 Voglio definire un package di nome geometria contenente a sua volta due package di nome poligoni e prismi Un esempio I package di Java 7 Dichiarazione di un package In ogni file.java del sottodirettorio poligoni di geometria aggiungero` come prima istruzione package geometria.poligoni; In ogni file.java del sottodirettorio prismi di geometria aggiungero` come prima istruzione package geometria.prismi; I package di Java 8 4

5 Effetto Effetto della precedente dichiarazione sara` quella di associare alla classe Poligono e Prisma il nome di geometria.poligoni.poligono geometria.prismi.prisma Questi sono i veri nomi delle classi ed e` cosi` che andranno identificate Organizzazione e nomi simile a quella dei file nei direttori I package di Java 9 Package, javac e java package geometria.poligoni; public class Rettangolo { [ ] } Nel diretorio esempipackage: Per la compilazione javac geometria poligoni Rettangolo.java Per l esecuzione java geometria.poligoni.rettangolo I package di Java 10 5

6 L istruzione import Scrivere i nomi delle classi e` diventato meno agevole e sicuramente piu` tedioso L istruzione import permette di semplificare la scrittura dei nomi delle classi in package include in C/C++ vs import in Java import geometria.poligoni.rettangolo; import geometria.poligoni.*; Importo il nome della classe Poligono nel package geometria.poligoni Importo tutti i nomi del package geometria.poligoni I package di Java 11 CLASSPATH: lo spazio dei nomi Dove andare a cercare i vari package e classi? Come rendere accessibili i miei package da un direttorio qualsiasi? Java fa uso (sia in compilazione che in esecuzione) della variabile di ambiente CLASSPATH in modo definitivo (nel file autoexec.bat) SET CLASSPATH=.;C: esempi esempipackage javac -classpath.;c: esempi esempipackage java -classpath.;c: esempi esempipackage temporaneamente I package di Java 12 6

7 Classpath: lo spazio dei nomi javac -classpath.;c: esempi provaclasspath directory1; C: esempi provaclasspath directory2 ProvaClassPath.java import javamio.util.*; import corso.*; class ProvaClassPath { A a = new A(); } I package di Java 13 Visibilità dei membri delle classi Ad ogni membro di una classe può essere associata una delle parole chiave: nessuna visibile da tutte le classi nello stesso package public visibile da tutti (parte dell'interfaccia dell'oggetto) private visibile solo dalla classe stessa protected visibile da tutte le sottoclassi I package di Java 14 7

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

OO puro. Primi concetti di Java. Tipi primitivi. Ogni cosa è un oggetto. Java è object-oriented puro Non come il C+ + (OO ibrido) Lorenzo Bettini Primi concetti di Java Lorenzo Bettini OO puro Java è object-oriented puro Non come il C+ + (OO ibrido) Per compatibilità col C Ogni cosa è un oggetto Gli oggetti si manipolano tramite riferimenti String

Подробнее

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

Programmazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile

Подробнее

Il linguaggio Java. Concetti base. I packages

Il linguaggio Java. Concetti base. I packages Il linguaggio Java I packages Concetti base Un package è una collezione di classi ed interfacce correlate che fornisce uno spazio dei nomi ed un controllo sugli accessi Un package facilita il reperimento

Подробнее

Cosa è importante: pom.xml Goal Plug-in Repository

Cosa è importante: pom.xml Goal Plug-in Repository Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml

Подробнее

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

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),

Подробнее

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

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Подробнее

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Подробнее

Paradigmi della PO. Incapsulamento. Ereditarietà. Polimorfismo. Software per TLC - AA 2008/2009 1

Paradigmi della PO. Incapsulamento. Ereditarietà. Polimorfismo. Software per TLC - AA 2008/2009 1 Incapsulamento Paradigmi della PO Ereditarietà Polimorfismo Software per TLC - AA 2008/2009 1 Incapsulamento Una classe contiene dati e metodi Filosofia Ai dati si accede solo attraverso i metodi I metodi

Подробнее

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Marzo 15, 2016 S. Krstić and M. Scavuzzo and F. Marconi and A. Rizzi and C. Menghi 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK)..........................................

Подробнее

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto [email protected]

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it Guida introduttiva su Eclipse Ing. Marco Dell'Unto [email protected] Introduzione Eclipse è un ambiente di sviluppo (IDE) multilinguaggio e multipiattaforma scritto in Java. E Open Source. Può

Подробнее

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009

Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Integrated Development Environment (IDE)

Подробнее

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura: Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata

Подробнее

Laboratorio di Informatica 4 Novembre 2005

Laboratorio di Informatica 4 Novembre 2005 Laboratorio di Informatica 4 Novembre 2005 Marco Iarusso Programmazione Java Ringraziamenti Parte della presente dispensa materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica

Подробнее

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 15 Alberto Ceselli [email protected] Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 05 Maggio 2009 Programming in the

Подробнее

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Подробнее

Programmazione in Linguaggio C++

Programmazione in Linguaggio C++ Programma: Programmazione in Linguaggio C++ A chi si rivolge: Il linguaggio C, E' il vero fondamento della programmazione, ed ha acquisito negli ultimi anni un ruolo da protagonista in questo settore.

Подробнее

Installazione dell SDK sotto Windows

Installazione dell SDK sotto Windows Installazione dell SDK sotto Windows Fare doppio clic sull eseguibile. Dopo un breve controllo sul sistema operativo, parte l installazione vera e propria. Leggere il contratto con MOLTA attenzione (se

Подробнее

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Подробнее

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Подробнее

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami

Подробнее

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Подробнее

ereditarietà e polimorfismo

ereditarietà e polimorfismo ereditarietà e polimorfismo Java ereditarietà o l ereditarietà permette di definire nuove classi partendo da classi sviluppate in precedenza o la nuova classe viene definita esprimendo solamente le differenze

Подробнее

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Corso di Laurea in Informatica Astrarre sui dati Valeria Carofiglio (Questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi) Obiettivi tipi di dato astratti

Подробнее

Versione 3.0. a cura di Claudia Cavicchi Biblioteca Clinica F.Bianchi Università di Bologna

Versione 3.0. a cura di Claudia Cavicchi Biblioteca Clinica F.Bianchi Università di Bologna Versione 3.0 a cura di Claudia Cavicchi Biblioteca Clinica F.Bianchi Università di Bologna [email protected] 1 Cos è? E un software gratuito, sviluppato dal Center for History and New Media della

Подробнее