LA DOCUMENTAZIONE È noto che un buon programma dovrebbe essere ben documentato.. ma lesperienza insegna che quasi mai ciò viene fatto! –non cè tempo, ci.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Ambiente Java.
Introduzione al linguaggio C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A2 Java: le basi del linguaggio.
Costruttori e Distruttori
Package Utilizzo classi.
UNITÀ A2 JAVA: LE BASI DEL LINGUAGGIO Approfondimenti.
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
Fondamenti di Informatica
Programmazione Procedurale in Linguaggio C++
Programmazione in Java (3)
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 7 (5 novembre 2008) Programmazione in Java: lessico, variabili, tipi primitivi, assegnamento a variabile.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
Introduzione al linguaggio Java
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Approfondimento delle classi
CAPITOLO 4 LINGUAGGIO JAVA: COSTRUTTI DI BASE. ALFABETO Java adotta la codifica standard Unicode della società Unicode, Inc. (ftp://ftp.unicode.org) definito.
Dichiarazioni e tipi predefiniti nel linguaggio C
Il Linguaggio C.
Espressioni condizionali
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Java base I: Sintassi e tipi di dati
Argomenti della lezione
IL CONCETTO DI PACKAGE Una applicazione è spesso composta di molte classi (eventualmente correlate) Un package è un gruppo di classi che costi- tuiscono.
IL TEMA DELLA RIUSABILITÀ Si vuole riusare tutto ciò che può essere riusato (componenti, codice, astrazioni) Non è utile né opportuno modificare codice.
OGGETTI COMPOSTI Una classe può contenere riferimenti a altre classi (o anche a se stessa): public class Orologio { Counter ore, minuti; } Loggetto Orologio.
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
Programmazione in Java Claudia Raibulet
JAVA Franco Bombi 8 ottobre FB Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Java come linguaggio di programmazione
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.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Tipi di dati semplici in C (1/3)
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
1 Numeri interi e numeri in virgola mobile F. Bombi 2 6 novembre 2003.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Corso JAVA Lezione n° 02 Istituto Statale di Istruzione Superiore “F. Enriques”
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
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
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
ALLOCAZIONE STATICA: LIMITI Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente –la loro esistenza deve essere prevista e.
ESERCITAZIONE Problema Scrivere una funzione che scambi due interi non opera su oggetti  funzione statica scritta dentro a una classe contenitore.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
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.
Lezione 2 : Basi del linguaggio Variabili. Come visto nella lezione 1 le classi registrano il proprio stato nelle variabili  int cadenza = 0;  int velocita.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

LA DOCUMENTAZIONE È noto che un buon programma dovrebbe essere ben documentato.. ma lesperienza insegna che quasi mai ciò viene fatto! –non cè tempo, ci si penserà poi... –... e alla fine la documentazione non cè! Java accetta il fatto che la gente non scrive documentazione.....e quindi fornisce uno strumento per pro- durla automaticamente a partire dai com- menti scritti nel programma: javadoc

LESEMPIO... COMPLETATO /** File Esempio0.java * Applicazione Java da linea di comando * Stampa la classica frase di Enrico 1.0, 5/4/98 */ public class Esempio0 { public static void main(String args[]){ System.out.println("Hello!"); } Informazioni di documentazione

LESEMPIO... COMPLETATO Per produrre la relativa documentazione: javadoc Esempio0.java Produce una serie di file HTML Si consulti la documentazione di javadoc per i dettagli.

TIPI DI DATO PRIMITIVI IN JAVA caratteri –char (2 byte)codifica UNICODE –coincide con ASCII sui primi 127 caratteri –e con ANSI / ASCII sui primi 255 caratteri –costanti char anche in forma '\u2122' interi (con segno) –byte (1 byte) –short (2 byte) –int (4 byte) –long (8 byte) NB: le costanti long terminano con la lettera L

TIPI DI DATO PRIMITIVI IN JAVA reali (IEEE-754) –float (4 byte) (6-7 cifre significative) –double (8 byte) (14-15 cifre significative) boolean –boolean (1 bit) false e true –tipo autonomo totalmente disaccoppiato dagli interi: non si convertono boolean in interi e viceversa, neanche con un cast –tutte le espressioni relazionali e logiche danno come risultato un boolean, non più un int !

CLASSI E OGGETTI IN JAVA Esclusi i tipi primitivi appena visti, in Java esistono solo classi –componenti statici, pre-esistenti, che possono avere i loro dati e le loro funzioni –ma anche fare da stampo per costruire oggetti oggetti –entità dinamiche costruite al momento delluso a immagine e somiglianza di una classe

CLASSI IN JAVA sono componenti statici: esistono già allinizio dellesecuzione, e permangono per tutta lesecuzione del programma possono avere propri dati (dati statici) e fun- zioni (funzioni statiche), come un modulo –il main è una tipica funzione statica: deve infatti esistere fin dallinizio in quanto è da lì che la computazione ha origine possono fungere da stampo per costruire oggetti (che sono invece entità dinamiche)

CLASSI IN JAVA sono componenti statici: esistono già allinizio dellesecuzione, e permangono per tutta lesecuzione del programma possono avere propri dati (dati statici) e fun- zioni (funzioni statiche), come un modulo –il main è una tipica funzione statica: deve infatti esistere fin dallinizio in quanto è da lì che la computazione ha origine possono fungere da stampo per costruire oggetti (che sono invece entità dinamiche) Dati e funzioni static appartengono al componente classe non definiscono la struttura di oggetti Dati e funzioni non- static non appartengono al componente classe definiscono la struttura degli oggetti creati dinamicamente a immagine della classe

CLASSI IN JAVA Esempio: la classe Math Math è una classe di sistema che comprende solo costanti e metodi statici (pubblici) (in pratica, è la libreria matematica) –Costanti di classe: E e PI –Metodi di classe: abs(), asin(), acos(), atan(), min(), max(), exp(), log(), pow(), sin(), cos(), tan(), etc. Si usano con il nome completo: float x = Math.sin(Math.PI/3);

OGGETTI IN JAVA sono componenti dinamici: vengono creati al volo, al momento delluso, tramite lope- ratore new sono creati a immagine e somiglianza di una classe, che ne descrive le proprietà su di essi è possibile invocare le operazioni pubbliche previste dalla classe non occorre preoccuparsi della loro distru- zione: Java dispone di un garbage collector!

ESEMPIO: LA CLASSE Counter public class Counter { private int val; public void reset() { val = 0; } public void inc() { val++; } public int getValue() { return val; } } Non contiene dati o funzioni statiche, quindi non dispone di dati e operazioni sue proprie Funge solo da stampo per costruire oggetti

ESEMPIO: UN CLIENTE Contiene ununica funzione statica (il main), che crea e usa un nuovo oggetto Counter Non può fungere da stampo per costruire og- getti (non ha dati o funzioni non- static ) public class Esempio1 { public static void main() { Counter c = new Counter(); c.reset(); c.inc(); c.inc(); System.out.println(c.getValue()); }

ESEMPIO: UN CLIENTE Contiene ununica funzione statica (il main), che crea e usa un nuovo oggetto Counter Non può fungere da stampo per costruire og- getti (non ha dati o funzioni non- static ) public class Esempio1 { public static void main() { Counter c = new Counter(); c.reset(); c.inc(); c.inc(); System.out.println(c.getValue()); } La frase Counter c; definisce un riferimento a un (futuro) oggetto di classe Counter Loggetto di tipo Counter viene però creato dinamicamente solo in un secon-do momento, mediante loperatore new

ESEMPIO: COSTRUZIONE Le due classi devono essere scritte in due file distinti, di nome, rispettivamente: –Esempio1.java (contiene la classe Esempio1 ) –Counter.java (contiene la classe Counter ) Ciò è necessario perché entrambe le classi sono pubbliche: in un file.java può infatti esserci una sola classe pubblica –ma possono essercene altre non pubbliche Per compilare: javac Esempio1.java Counter.java NB: lordine non importa

ESEMPIO: COSTRUZIONE Queste due classi devono essere scritte in due file distinti, di nome, rispettivamente: –Esempio1.java (contiene la classe Esempio1 ) –Counter.java (contiene la classe Counter ) Ciò è necessario perché entrambe le classi sono pubbliche: in un file.java può infatti esserci una sola classe pubblica –ma possono essercene altre non pubbliche Per compilare: javac Esempio1.java Counter.java Anche separatamente, ma nellordine: javac Counter.java javac Esempio1.java La classe Counter deve infatti già esiste-re quando si compila la classe Esempio1

ESEMPIO: ESECUZIONE La compilazione di quei due file produce due file.class, di nome, rispettivamente: –Esempio1.class –Counter.class Per eseguire il programma basta invocare linterprete con il nome di quella classe (pubblica) che contiene il main java Esempio1

ESEMPIO: UNA VARIANTE Se la classe Counter non fosse stata pubblica, le due classi avrebbero potuto essere scritte nel medesimo file.java public class Esempio2 {... } class Counter {... } nome del file = quello della classe pubblica ( Esempio2.java ) Importante: lordine delle classi nel file è irrilevante, non esiste un concetto di dichia- razione che deve pre- cedere luso!

ESEMPIO: UNA VARIANTE Se la classe Counter non fosse stata pubblica, le due classi avrebbero potuto essere scritte nel medesimo file.java ma compilandole si sarebbero comunque ottenuti due file.class : –Esempio2.class –Counter.class In Java, cè sempre un file.class per ogni singola classe compilata –ogni file.class rappresenta quella classe –non può inglobare più classi