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

Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

  • Upload
    trananh

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Programmazione a Oggetti e

JAVA

Prof. B.Buttarazzi

A.A. 2012/2013

Page 2: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 2

Sommario

• Contenuti del Corso

• Riferimenti

• Regole del Corso

• Materiale Didattico

• Scheduling Esami

• Strumenti Software

Page 3: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 3

Contenuti

• Introduzione all’ambiente di programmazione Java – Descrizione e uso di Eclipse

– Primi esempi di programmi

• Programmazione imperativa – Introduzione alla sintassi Java

– Tipi di dato elementari, variabili e assegnamento, costrutti sequenziale, if, while e for, e operazioni di I/O

– Funzioni e parametri

• Programmazione ad oggetti: Classi e Oggetti Java – Incapsulamento, Ereditarietà, Polimorfismo

• Introduzione allo sviluppo di Web Application

• introduzione al Web Mobile Programming

Page 4: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 4

Obbiettivi

• Conoscenza di base del linguaggio JAVA

• Metodologie e tecnologie per la programmazione a

oggetti

• Uso e Manipolazione di Software per applicazioni di tipo

Object Oriented

Page 5: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 5

Output di fine Corso • (20%) Conoscenze teoriche di metodologie

informatiche

– Principi della programmazione

– Tecniche per l’analisi di programmi e Algoritmi

• (40%) Tecniche di programmazione in ambiente Java

– Correttezza, efficienza e analisi del software

• (40%) Sviluppo di Applicazioni

Page 6: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 6

Testo di riferimento

Titolo: Programmando Java

Autori: B.Buttarazzi & A.Simonetta

Editore : Carocci 2007

Page 7: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Programma di esame

16/01/2013 7

Page 8: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Programma di esame

16/01/2013 8

Page 9: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 9

Page 10: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 10

Riferimenti • Docenti : Berta Buttarazzi

Ricevimento

• Al termine delle lezioni in aula e in studio del docente (III

Piano Edificio Ingegneria della Informazione) il mercoledì

dalle 13 alle 15

• Pagina web del corso

– http://www.uniroma2.it/didattica/POJ/

Page 11: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 11

Page 12: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 12

Registrazione al corso

Per poter seguire il corso e sostenere gli esami e' necessario

registrarsi al corso.

La registrazione al corso avviene tramite e-mail da inviare al

docente

[email protected]

specificando come oggetto

'' REGISTRAZIONE CORSO - POJ”

e nel corpo della mail il proprio nome, cognome, corso di

laurea e numero di matricola

Le registrazioni terminano 10 giorni dopo l'inizio del corso

Page 13: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 13

Page 14: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 14

Orario Lezioni

LUN MAR MER GIO VEN

8.30-9.15

9.30-10.15 POJ

10.30-11.15 POJ

11.30-12.15 POJ

12.30-13.15 POJ

14.00-14.45

15.00-15.45

Lunedì Aula B2

Giovedì Aula C6

Page 15: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 15

Scheduling Esami

Primo appello Giovedì 7 Febbraio 2013 - Aula B2 Nuovi Edifici ore 9:30

Secondo appello Giovedì 14 Febbraio 2013 - Aula B2 Nuovi Edifici ore 9:30

Terzo appello Giovedì 4 Luglio 2013 - Aula B2 Nuovi Edifici ore 9:30

Quarto appello Giovedì 5 Settembre 2012 - Aula B2 Nuovi Edifici ore 9:30

Quinto appello Giovedì 12 Settembre 2012 - Aula B2 Nuovi Edifici ore 9:30

<da confermare ....>

Page 16: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 16

Prenotazione Esami

La prenotazione all'esame avviene tramite e-mail da

inviare al docente

[email protected]

specificando come oggetto

'' PRENOTAZIONE ESAME – POJ”

Per ciascun appello le prenotazioni si aprono 10 giorni

prima dell'esame e terminano 3 giorni prima

dell'esame

Page 17: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 17

Regole del Corso

• Si consiglia di seguire in classe tutte le

lezioni (almeno il 75% lezioni).

– Attenzione! Ogni informazioni anche sui

cambiamenti verrà data esclusivamente a

lezione

• Il ricevimento è alla fine di ciascuna lezione

o in ufficio del docente il mercoledì dalle 13

alle 15

Page 18: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 18

Modalità di Esame

• Prova scritta

– Modalità tradizionale con esercizi da svolgere

• Prova orale

– Commento della prova scritta ed eventuali

domande teoriche

Page 19: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 19

Criterio di Valutazione

• Il voto è determinato principalmente dal

risultato ottenuto nella prova scritta

• In fase di verbalizzazione è previsto un

orale

– domande sul compito + eventuale domanda su

argomenti del corso

Page 20: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 20

Modalità della prova scritta

• Tutte le prove scritte sono composte da tre parti: 1. Esercizio sulla programmazione a oggetti

2. Esercizio sulla realizzazione di un algoritmo

3. Domande teoriche

Page 21: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

..esempio di esercizi

16/01/2013 21

Page 22: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 22

..esempio di domande

Page 23: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 23

Regole per lo scritto • Portare

– il libretto e un documento di riconoscimento

– una penna a inchiostro NERO

– fogli bianchi per annotazioni

• Non sono ammessi appunti, libri o altro materiale didattico.

• Ogni esercizio deve essere svolto in piena autonomia!

• Sono ammessi chiarimenti sul testo dell’esame solo durante i primi 10 minuti all’inizio dell’esame.

• Al termine della prova scritta vanno restituiti solo i fogli d’esame consegnati dal docente (correttamente compilati).

Page 24: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 24

Suggerimenti per lo scritto

• Usare una penna (NERA) a tratto sottile

– Tenete presente che il rosso viene usato per le

correzioni e annotazioni da parte del docente !

– La matita non è accettata.

• Se necessario si può usare il retro del foglio

per il completamento dello svolgimento di

un esercizio.

– In questo caso specificare il numero dell’esercizio

Page 25: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

1 ) PERSONAL COMPUTER

2 ) INTERNET

3 ) STRUMENTI SOFTWARE

Strumenti hardware & software

16/01/2013 25

Page 26: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Strumenti Software

• Per programmare in Java utilizzando come (IDE) ambiente di sviluppo integrato Eclipse abbiamo bisogno dei seguenti strumenti software: – Java JDK

– Eclipse

• Si tratta di strumenti software “open-source” che possono essere scaricati liberamente da appositi siti internet .

Page 27: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Andare sul sito indicato nel link della pagina della didattica web :

http://www.oracle.com/technetwork/java/javase/downloads/index.html

e fare il download del software indicato

Page 28: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18
Page 29: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Andare sul sito indicato nel link della pagina della didattica web :

http://www.eclipse.org/downloads/

e fare il download del software indicato

Page 30: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18
Page 31: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Installazione di JDK

• Una volta scaricato il JDK fare doppio click sul file

e seguire le istruzioni .

16/01/2013 31

Page 32: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Installazione di JDK

16/01/2013 32

Page 33: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Installazione di JDK

16/01/2013 33

Page 34: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Cos’è Eclipse?

• Eclipse è un Ambiente di sviluppo integrato (IDE -Integrated Development Enviroment) open-source ovvero una piattaforma integrata che consente di gestire l'intero processo di sviluppo di applicazioni Java scaricabile gratuitamente da:

http://www.eclipse.org/downloads

• E’ necessario scegliere la versione adatta al proprio sistema operativo

del file “Eclipse IDE for Java Developers (92 MB)” • Windows

• Mac OS X

• Linux 32bit

• Linux 64bit

Eclipse è abitualmente utilizzato da moltissimi sviluppatori in tutto il mondo in quanto è dotato di caratteristiche di alta qualità e produttività

16/01/2013 34

Page 35: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Esecuzione Eclipse

Scrivo la prima istruzione Java nel primo programma:

System.out.println("Benvenuto al corso di Java");

16/01/2013 35

Page 36: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 36

Page 37: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Compilo ed eseguo

16/01/2013 37

Page 38: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 38

Il programma stampa a video la frase “Benvenuto al corso Java"

nella finestra di output.

Page 39: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Uno sguardo al processo di sviluppo

di un programma Java

• In Java i programmi sorgenti sono scritti in formato testo contenuto in file con

estensione .java

• Questi file saranno compilati in altri file .class usando un compilatore

(javac)

• Un file .class non contiene codice nativo per un particlare processore; esso

contiene bytecodes — il codice macchina della Java Virtual Machine (JVM )

• Successivamente si usera un tool (launcher ) (java) per eseguire l’applicazione

su una istanza della Java Virtual Machine.

16/01/2013 39

Page 40: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Uno sguardo al processo di sviluppo

di un programma Java

• Tramite la JVM, la stessa applicazione è in grado di essere eseguita su

piattaforme diverse.

• La JVM è disponibile per in molti sistemi operativi diversi, il medesimo file

.class può essere eseguito su

Microsoft Windows

Linux

MacOS

16/01/2013 40

Page 41: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 41

Page 42: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 42

Page 43: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Programmazione in Java

16/01/2013 43

Il file .java contiene il

programma sorgente creato.

Il compilatore Java (javac)

“traduce” il programma

.java ( una o più classi

Java) in ByteCode .class .

Ciascuna JVM - diversa per

ogni dispositivo - riceve il

programma tradotto in

ByteCode e lo interpreta nel

linguaggio della macchina

locale in modo che possa

essere eseguito.

Page 44: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Strumenti di Sviluppo per Dispositivi Mobili:

EclipseMe (J2ME)

EclipseMe è un plug-in (un programma non autonomo che interagisce con un altro programma per ampliarne le funzioni) di Eclipse che consente di creare le Midlet (applicazioni JAVA per smartphone che hanno preinstallata la J2ME Virtual Machine (mobile edition) in quantodotato delle librerie necessarie.

Dopo aver creato il programma, consente di emulare il funzionamento tramite il Default ColorPhone(emulatore illustrato in figura)

16/01/2013 44

Page 45: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

Strumenti di Sviluppo per Dispositivi Mobili:

ADT (Android)

• ADT (Android

Development Tools ) è un

plug-in di Eclipse che

permette di rendere molto

più semplice e rapido il

processo di sviluppo

software visto che

nativamente tutti i tools

della SDK non sono

accessibili tramite

interfacce grafiche ma

soltanto attraverso linea di

comando.

Dopo aver creato il programma, consente di emulare il funzionamento tramite emulatore 16/01/2013 45

Page 46: Programmazione a Oggetti e JAVA - uniroma2.it · lezione •Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 . 16/01/2013 18

16/01/2013 46

….ora possiamo iniziare ma

“… would advise students to pay more attention to the

fundamental ideas rather than the latest technology.

The technology will be out-of-date before they graduate.

Fundamental ideas never get out of date”.

David Parnas