Definizione di classi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Definizione di classi"

Transcript

1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 19 Maggio

2 Contenuti Classi per istanziare oggetti Esempio: la classe Punto Variabili d istanza Metodi d istanza Costruttori Ulteriori aspetti nella definizione di classi auto-referenziazione i metodi tostring e equals sovraccarico del costruttore metodi di classe variabili di classe classi e oggetti occultamento dell informazione Esempi: le classi Quadrato, Triangolo Esercizi 2

3 Prerequisiti Questo capitolo presuppone la conoscenza degli argomenti già trattati nelle precedenti lezioni di questo corso, con particolare riferimento al capitolo 12 del libro di testo 3

4 In questo capitolo vengono presentati i concetti relativi alla definizione di classi per istanziare oggetti gli aspetti fondamentali del linguaggio Java nella definizione di classi alcuni aspetti metodologici Nota Bene Va ricordato che la definizione di una nuova classe implicitamente definisce un nuovo tipo riferimento 4

5 Classi per istanziare oggetti Una classe per istanziare oggetti è il progetto per una tipologia di oggetti istanza che sono caratterizzati da uno stato, ovvero da un insieme di proprietà variabili d istanza un comportamento, ovvero sanno eseguire delle operazioni metodi d istanza Un metodo per la loro creazione ovvero per una opportuna inizializzazione del loro stato costruttori 5

6 Esempio: la classe Punto Una classe per istanziare oggetti ha lo scopo di rappresentare una certa tipologia di oggetti la definizione di una classe parte dalla domanda che cosa deve rappresentare un oggetto della classe? La classe Punto nell ambito di una applicazione geometrica, si vogliono rappresentare e gestire dei punti in uno spazio bidimensionale ciascun oggetto della classe Punto modella un punto in uno spazio bidimensionale 6

7 Struttura della classe Punto /* Un oggetto Punto rappresenta un punto * in uno spazio bidimensionale. */ class Punto {... dichiarazione di variabili d'istanza definizione di costruttori definizione di metodi d'istanza... } 7

8 Caratterizzazione dello stato e del comportamento La classe Punto è così caratterizzata lo stato di un oggetto Punto può essere descritto mediante una coppia di coordinate (X,Y) 2 variabili d istanza bisogna poter creare un oggetto Punto in modo parametrico rispetto alle sue coordinate (X,Y) un costruttore (con due parametri) un oggetto Punto deve saper eseguire le seguenti operazioni da realizzare con tre metodi d istanza accedi alla coordinata X del punto accedi alla coordinata Y del punto 8

9 La classe e oggetti Punto Punto... «costruttori» Punto(double xx, double yy) «operazioni» double getx() double gety() p1 : Punto (1.0, -1.0) double getx() double gety() p : Punto (0.0, 0.0) double getx() double gety() p2 : Punto (1.0, -1.0) double getx() double gety() 9

10 Variabili d istanza... La realizzazione di una classe prosegue con la scelta e la dichiarazione delle variabili per rappresentare lo stato degli oggetti le variabili d istanza sono variabili che servono a rappresentare lo stato di un oggetto della classe La classe Punto lo stato di un oggetto Punto è costituito da una coppia di coordinate (X,Y) può essere rappresentato mediante le variabili d istanza x e y 10

11 ... Variabili d istanza... /* Un oggetto Punto rappresenta un punto * in uno spazio bidimensionale. * (Prima versione- parziale.) */ class Punto { /* Coordinata x del punto. */ private double x; /* Coordinata y del punto. */ private double y; } 11

12 ... Variabili d istanza Punto x : double y : double p1 : Punto x = 1.0 y = -1.0 p : Punto x = 0.0 y = 0.0 p2 : Punto x = 1.0 y =

13 Accesso a variabili d istanza Si supponga di aver creato un oggetto Punto e di aver assegnato un valore alle sue variabili d istanza Punto p1; p1 p1 = new Punto(1,-1); Punto Le variabili d istanza di un oggetto possono essere accedute all interno della classe System.out.println(p1.x); // visualizza 1.0 p1 : Punto x = 1.0 y = -1.0 p1.y = 2; // ora p1 è il punto (1,2) 13

14 Metodi d istanza La realizzazione di una classe prosegue con l implementazione delle operazioni e dei costruttori un metodo d istanza è un metodo la cui esecuzione può essere richiesta inviando un messaggio a un oggetto istanza La classe Punto deve contenere le definizioni dei metodi d istanza double getx() double gety() 14

15 Costruttori Gli oggetti istanza devono essere creati esplicitamente, mediante l operatore new e l invocazione di un costruttore che, in modo parametrico, inizializza lo stato dell oggetto creato un costruttore consente di inizializzare lo stato di un oggetto appena creato La classe Punto deve contenere le definizioni del costruttore che ha lo stesso nome della classe Punto(double xx, double yy) 15

16 La classe Punto... /* Un oggetto Punto rappresenta un punto sul piano */ class Punto { /* Coordinata x del punto. */ private double x; /* Coordinata y del punto. */ private double y; /* Crea un nuovo Punto di coordinate (xx,yy). */ public Punto(double xx, double yy) { this.x = xx; this.y = yy; }... 16

17 ... La classe Punto... /* Restituisce la coordinata x di questo punto. */ public double getx() { return this.x; } /* Restituisce la coordinata y di questo punto. */ public double gety() { return this.y; } } 17

18 Il metodo tostring Spesso è utile avere un metodo che calcola una descrizione testuale di un oggetto ad esempio, Punto[x=1.0,y=-1.0] è compito del metodo String tostring() questo metodo ha un significato speciale in Java /* Calcola una descrizione testuale di questo punto. */ public String tostring() { return "Punto[x=" + x + ",y=" + y + "]"; } 18

19 Il metodo equals È utile anche definire un metodo boolean equals(...) per verificare l uguaglianza tra due oggetti istanza della classe anche questo metodo ha un significato speciale in Java /* Verifica se questo punto è uguale al Punto p. */ public boolean equals(punto p) { // pre: p!=null return (this.x==p.x) && (this.y==p.y); } 19

20 Sovraccarico del costruttore Una classe può definire anche più di un costruttore, il cui nome sarà sovraccarico un costruttore senza argomenti /* Crea un nuovo Punto di coordinate (0,0). */ public Punto() { this.x = 0; this.y = 0; } un costruttore di copia /* Crea un nuovo Punto uguale al Punto p. */ public Punto(Punto p) { // pre: p!=null this.x = p.x; this.y = p.y;} 20

21 Classe e oggetti Punto Complessivamente si ha: Punto x : double y : double «costruttori» Punto() Punto (double x, double y) Punto(Punto p) «operazioni d istanza» double getx() double gety() String tostring() boolean equals(punto p) p2 : Punto x = 1.0 p1 : Punto y = -1.0 x = 1.0 y = -1.0double getx() double gety() double p : getx() Punto void trasla(double dx, double dy) double gety() String tostring() void trasla(double x = 0.0 dx, boolean double equals(punto dy) p) String y tostring() = 0.0 boolean equals(punto p) double getx() double gety() String tostring() boolean equals(punto p) 21

22 Occultamento dell informazione Le variabili d istanza di una classe vengono normalmente dichiarate private class Punto { /* Coordinata x del punto. */ private double x; /* Coordinata y del punto. */ private double y;... } Una variabile d istanza privata può essere acceduta solo da oggetti costruiti dalla classe nell ambito di istruzioni scritte nella classe Una variabile d istanza privata non può essere acceduta da oggetti di altre classi nell ambito di istruzioni scritte in altre classi 22

23 Uso della classe Punto... Una caratterizzazione più precisa del comportamento della classe Punto Scrivere una applicazione di prova che acquisisce due oggetti di tipo Punto e calcola la distanza tra essi Si usa una classe applicazione (che contiene il main ) Bisogna creare gli oggetti definiti nella classe e usarli Definizione della classe punto Punto.java Uso degli oggetti di tipo Punto (classe Punto) UsoPunto.java Al suo interno definiamo il metodo di classe distanza 23

24 ... Uso della classe Punto Class UsoPunto{ Public static void main(strig[] args){ Punto p, p1, p2; // tre punti nel piano p = new Punto(0,0); // p è l'origine del piano p1 = new Punto(1,-1); // p1 è il punto di coordinate // (1,-1) p2 = new Punto(1,-1); // un altro punto di coordinate // (1,-1) System.out.println(p1.getX()); // visualizza 1.0 System.out.println(p1.getY()); // visualizza -1.0 } } System.out.println(distanza(p1,p2)); 24

25 Distanza tra due punti Un metodo che calcola e restituisce la distanza tra due punti metodo di classe /* Calcola la distanza tra gli oggetti Punto p1 e p2.*/ public static double distanza(punto p1, Punto p2) { double qd; // quadrato della distanza /* calcola il quadrato della distanza */ qd = (p1.x-p2.x)*(p1.x-p2.x) + (p1.y-p2.y)*(p1.y-p2.y); /* calcola e restituisce la distanza */ return Math.sqrt(qd); } 25

26 La classe Quadrato... Si vuole definire la classe Quadrato per istanziare oggetti un oggetto Quadrato modella un quadrato lo stato di un oggetto Quadrato consiste nella lunghezza del suo lato per creare un oggetto Quadrato è richiesta la lunghezza del lato come parametro un oggetto Quadrato deve saper eseguire le seguenti operazioni lato() restituisce il lato del quadrato area() calcola e restituisce l area del quadrato perimetro() calcola e restituisce il perimetro del quadrato diagonale() calcola e restituisce la diagonale del quadrato 26

27 ... La classe Quadrato Diagramma classi per Quadrato 27

28 Uso della classe Quadrato /* Applicazione di prova per la classe Quadrato. */ class TestQuadrato { public static void main(string[] args) { Quadrato p, q; // due quadrati double areap; // area del quadrato p double perimetroq; // perimetro del quadrato q /* crea i due quadrati */ p = new Quadrato(10); q = new Quadrato(20); /* calcola e visualizza l'area di p */ areap = p.area(); System.out.println(areaP); // 100 /* calcola e visualizza il perimetro di q */ perimetroq = q.perimetro(); System.out.println(perimetroQ); // 80 } } 28

29 La classe Quadrato Ricordiamo come si definisce una classe per istanziare oggetti bisogna dichiarare le variabili d istanza in questo caso, c è bisogno di una variabile che rappresenta il lato del quadrato bisogna definire (almeno) un costruttore per la classe bisogna definire un metodo per ciascuna operazione che gli oggetti della classe devono saper eseguire in questo caso, si devono definire i metodi lato(), area(), perimetro() e diagonale() 29

30 La classe Quadrato variabili d istanza /* Un oggetto Quadrato rappresenta * un quadrato. */ class Quadrato { /* lato del quadrato */ private double lato;... segue... 30

31 La classe Quadrato il costruttore... segue... /* Crea un nuovo Quadrato di lato l. */ public Quadrato(double l) { // pre: l>0 this.lato = l; }... segue... 31

32 La classe Quadrato il metodo lato()... segue... /* Calcola il lato del quadrato. */ public double getlato() { } /* restituisce il lato */ return this.lato;... segue... Esercizio - Completare la definizione della classe con la definizione degli altri metodi d istanza previsti 32

33 Esecuzione di TestQuadrato Lo stato di ogni oggetto istanza è indipendente da quello degli altri oggetti istanza della stessa classe 33

34 Esercizio: la classe Triangolo... Si vuole definire la classe Triangolo per istanziare oggetti un oggetto Triangolo modella un triangolo sul piano cartesiano lo stato di un oggetto Triangolo consiste nella conoscenza delle coordinate dei suoi vertici tre vertici v1, v2 e v3 per creare un oggetto Triangolo sono richiesti, come parametri, i valori delle coordinate dei suoi vertici un oggetto Triangolo deve saper eseguire, tra altre possibili, la seguente operazione: perimetro() calcola e restituisce il perimetro del triangolo 34

35 Esercizi Altre classi per i triangoli Definire la classe TriangoloEquilatero il cui stato consiste nella lunghezza del suo lato ed è capace di calcolare il suo lato, il suo perimetro e la sua area Suggerimento: Ricordarsi le specifiche (simili) della definizione della classe Quadrato Definire la classe TriangoloRettangolo il cui stato consiste nella lunghezza dei suoi cateti ed è capace di calcolare la sua ipotenusa, oltre a saper eseguire altre operazioni da scegliere Suggerimento: Ricordarsi le specifiche (simili) della definizione della classe TriangoloEquilatero e la classe Ipotenusa già vista in precedenza Definire classi per altre tipologie di triangolo a piacere 35

36 Esercizi Classe Quadrato Definire una classe QuadratoSulPiano per definire quadrati sul piano cartesiano con i lati paralleli agli assi lo stato di un oggetto QuadratoSulPiano consiste nella conoscenza delle coordinate dei suoi vertici vbs in basso a sinistra e vad in alto a destra, mentre le operazioni sono le stesse della classe Quadrato Nella classe QuadratoSulPiano aggiungere metodi di classe per verificare se due quadrati hanno lo stesso lato due quadrati hanno la stessa area due quadrati sono uno interno all altro 36

37 Esercizio Classe Rettangolo Definire una classe Rettangolo ciascun oggetto Rettangolo rappresenta un rettangolo in un piano bidimensionale, ortogonale rispetto agli assi cartesiani y r1 r x 37

38 Caratterizzazione della classe Rettangolo Comportamento un rettangolo deve saper calcolare la sua base la sua altezza la sua area un rettangolo deve sapersi traslare di (DX,DY) bisogna poter calcolare l intersezione tra due rettangoli Stato lo stato di un rettangolo deve rappresentare le sue dimensioni la sua posizione nel piano le posizioni dei suoi vertici 38

39 Esercizi Altri oggetti Definire una classe Libro per rappresentare oggetti libro con il nome dell autore, il titolo e il numero di pagine e con opportuni metodi d istanza tra cui un metodo del tipo String tostring() per la sua descrizione Definire una classe LineaBus per rappresentare oggetti linea di autobus urbano con il numero identificativo, il nome dei due capolinea e con opportuni metodi d istanza tra cui un metodo del tipo String tostring() per la descrizione del suo percorso 39

40 Esercizi Altri oggetti Definire una classe Auto per rappresentare oggetti automobile con il nome della marca, il nome del modello, la targa e l anno di immatricolazione e con opportuni metodi d istanza tra cui un metodo del tipo String tostring() per la sua descrizione Definire una classe Studente per rappresentare oggetti studente con il cognome, il nome, il codice fiscale, il numero di matricola e con opportuni metodi d istanza tra cui un metodo del tipo String tostring() per la sua descrizione 40

41 Cosa abbiamo visto finora Tipi riferimento e classi Esempi ed esercizi di definizione di classi per istanziare oggetti 41

42 Riepilogo della dispensa Tipologie di classi Classi applicazione eseguibili, contengono il metodo main Classi che corrispondono alla creazione di un singolo oggetto software ad esempio la classe Math o la classe System.out Classi che definiscono il progetto di una tipologia di oggetti ad esempio la classe Televisore, da esse si istanziano oggetti (classi per istanziare oggetti) 42

43 Riepilogo della dispensa Nelle Classi per istanziare oggetti si definiscono: Variabili d istanza Almeno un costruttore Metodi di istanza Metodi get - per accedere al valore delle variabili d istanza Metodi set - per modificare il valore delle variabili d istanza Metodo equals - per confrontare due oggetti istanza: in genere verifica l uguaglianza dei valori delle variabili d istanza Metodo tostring per avere una descrizione testuale dell oggetto istanza Altri metodi d istanza Eventuali metodi di classe 43

44 Riepilogo della dispensa Classi per istanziare oggetti - Esempio Classe Televisore: Variabili d istanza assumono in generale valori differenti per i vari oggetti indipendenti dai valori assunti negli altri oggetti Es. stato (acceso/spento), marca, modello Costruttore Inizializza le variabili d istanza, ad esempio lo stato a spento Metodi di istanza Metodi get ad esempio getstato() Metodi set ad esempio setstato(string s) Metodo equals metodo che verifica se due televisori hanno lo stesso stato, marca, modello Metodo tostring per avere una descrizione testuale dell oggetto 44

45 Riepilogo della dispensa Variabili d istanza Possono essere accedute con riferimentoall oggetto.nomedellavariabile Un metodo d istanza o un costruttore accede alle variabili d istanza dell oggetto che lo sta eseguendo direttamente col loro nome o attraverso la parola chiave this (necessaria se una variabile locale o un parametro ha uguale nome della variabile d istanza) Se le variabili d istanza sono dichiarate private è possibile accedervi e modificarle solo attraverso i metodi pubblici get e set 45

46 Riepilogo della dispensa Operatore new e costruttori Gli oggetti vengono creati attraverso l operatore new e le loro variabili d istanza vengono inizializzate attraverso il costruttore Triangolo t; t = new Triangolo(1,2,4,6,8,1); Un costruttore ha: uguale nome della classe elenco dei parametri modificatore public non ha tipo di ritorno public Punto(double xx, double yy) Una classe può avere più costruttori che si differenziano nell elenco dei parametri 46

47 Riepilogo della dispensa Metodi d istanza e metodi di classe I metodi d istanza sono i metodi che l oggetto sa eseguire e vengono richiamati come o.metodo(parametri); Dove o e una variabile che rappresenta un dato oggetto Ad esempio p1.getx(); I metodi di classe non sono legati ad un dato oggetto, ma agiscono solo in base ai parametri del metodo. Nella loro definizione compare la parola chiave static. Vengono richiamati come: metodo(parametri) all interno della classe Classe.metodo(parametri) - all esterno della classe (es. Punto.distanza(p1,p2) 47

48 Riepilogo della dispensa Uso di oggetti Tutti questi metodi vengono scritti in una classe (es. Oggetto.java) che viene compilata ma non puo essere eseguita Non e una classe applicazione non contiene il main L oggetto definito in questa classe viene effettivamente utilizzato da un altra classe applicazione (es. UsoOggetto.java) che crea gli oggetti di tipo Oggetto con il costruttore new e che li gestisce (può usare anche i metodi di classe con Oggetto.metodo(parametri)) 48

49 Riferimenti al libro di testo Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare al capitolo 18 Nei file.java allegati a questa dispensa si trova Il codice completo degli esempi mostrati 49

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti

Dettagli

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

Programmazione Java Struttura di una classe, Costruttore, Riferimento this Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Esercizi di ricapitolazione

Esercizi di ricapitolazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 20 Esercizi di ricapitolazione ed esame esame C. Limongelli Giugno 2009 1 Contenuti Esercizi sulla definizione e uso di oggetti (07Lab)

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

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

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

14 - Metodi e Costruttori

14 - Metodi e Costruttori 14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Prossime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1

Prossime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1 Prossime lezioni Dai TDA agli oggetti Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 18 19 gennaio

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli

Dettagli

Programmazione orientata agli oggetti: le classi

Programmazione orientata agli oggetti: le classi Programmazione orientata agli oggetti: le classi Oggetti e tipi di dati La programmazione che abbiamo visto finora agisce su variabili che appartengono a tipi di dati predefiniti: interi, floating point,

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Riassunto. La programmazione OO. Oggi. Esempio

Riassunto. La programmazione OO. Oggi. Esempio Riassunto La programmazione OO Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 17 29 novembre

Dettagli

Capitolo 2. Dall idea al codice con UML 2 Esercizi introduttivi

Capitolo 2. Dall idea al codice con UML 2 Esercizi introduttivi Capitolo 2 Dall idea al codice con UML 2 Esercizi introduttivi Obiettivo Identificare le classi per risolvere il problema proposto 1. Valutazione di polinomi Un polinomio, identificato da una lettera minuscola

Dettagli

Lezione 10 programmazione in Java. Anteprima. Programmazione OO. La programmazione orientata agli Oggetti. Javadoc. Esercizi

Lezione 10 programmazione in Java. Anteprima. Programmazione OO. La programmazione orientata agli Oggetti. Javadoc. Esercizi Lezione 10 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima La programmazione orientata agli Oggetti Cosè un oggetto I metodi Il costruttore

Dettagli

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Ereditarietà e Polimorfismo Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Ereditarietà L ereditarietà è lo strumento che permette di costruire nuove classi utilizzando

Dettagli

La classe java.lang.object

La classe java.lang.object La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita

Dettagli

I costruttori. Il costruttore standard. Esempio di valori di default. Alterare il costruttore standard

I costruttori. Il costruttore standard. Esempio di valori di default. Alterare il costruttore standard I costruttori Servono a inizializzare i valori dei campi degli oggetti. Vengono invocati automaticamente dopo che l oggetto è stato creato. Il costruttore standard Questo tipo di costruzione mette dei

Dettagli

Corso di Fondamenti di Informatica I

Corso di Fondamenti di Informatica I Corso di Fondamenti di Informatica I Generics in Java Fabio Patrizi, Silvia Bonomi Dipartimento di Ingegneria Informatica, Automatica e Gestionale Facoltà di Ingegneria dell Informazione, Informatica e

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

Proprietà delle Classi e degli Oggetti in Java

Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di

Dettagli

18 - Classi parzialmente definite: Classi Astratte e Interfacce

18 - Classi parzialmente definite: Classi Astratte e Interfacce 18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Esercizio 1 - Componente Matrice (1/3) Esercizio 1 - Componente Matrice (3/3) Esercizio 1 - Componente Matrice (2/3)

Esercizio 1 - Componente Matrice (1/3) Esercizio 1 - Componente Matrice (3/3) Esercizio 1 - Componente Matrice (2/3) Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T Modulo - Lab Corso di Laurea in Ingegneria Informatica Anno accademico 008/009 - Componente Matrice (1/3) Realizzare

Dettagli

Riferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio)

Riferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio) Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Riferimenti ad oggetti: Cosa si può fare con i riferimenti?

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e overloading Esercizi svolti Esercizi proposti Paradigma OO Nella programmazione tradizionale,

Dettagli

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione 1 [Java] Laboratorio di Programmazione 1 [Java] Prova di esame - 7 Settembre 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Ristorante. La classe Tavolo ha i seguenti attributi: numero

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 16 Tipi riferimento e stringhe. Carla Limongelli.

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 16 Tipi riferimento e stringhe. Carla Limongelli. Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 16 Tipi riferimento e stringhe Carla Limongelli Maggio 2010 Definizione di metodi 1 Contenuti Tipi riferimento Stringhe e oggetti String

Dettagli

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

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

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

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi

Dettagli

Uso di metodi statici. Walter Didimo

Uso di metodi statici. Walter Didimo Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un

Dettagli

Fondamenti di Informatica I

Fondamenti di Informatica I Sapienza Università di Roma, Facoltà di Ingegneria Corso di Fondamenti di Informatica I Canale 1 (A-K) Anno Accademico 2009-2010 Corso di Laurea in Ingegneria Informatica Docente: Camil Demetrescu Esercitatore:

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

Lezione 9 programmazione in Java Classi come contenitori

Lezione 9 programmazione in Java Classi come contenitori Lezione 9 programmazione in Java Classi come contenitori Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Gestione della Memoria Dati dinamici e statici Il passaggio

Dettagli

CLASSI ASTRATTE - ESERCIZIO

CLASSI ASTRATTE - ESERCIZIO CLASSI ASTRATTE - ESERCIZIO Definire una tassonomia di forme geometriche non esiste la generica forma geometrica! esistono triangoli, quadrilateri, pentagoni,... Forme può ben essere una classe astratta

Dettagli

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di

Dettagli

Esercitazione n 3. Capacità di analisi e di estensione di progetti esistenti Linguaggio Java:

Esercitazione n 3. Capacità di analisi e di estensione di progetti esistenti Linguaggio Java: Esercitazione n 3 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Linguaggio Java: Ereditarietà delle classi Utilizzo di costruttori e metodi di superclasse Classi astratte Visibilità:

Dettagli

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

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 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 String Una stringa Java rappresenta uno specifico valore e come

Dettagli

Programmazione I. 11 gennaio Considerate la seguente gerarchia di classi (rappresentata mediante un diagramma UML): +f(double x):

Programmazione I. 11 gennaio Considerate la seguente gerarchia di classi (rappresentata mediante un diagramma UML): +f(double x): Programmazione I 11 gennaio 2012 Matricola:........................................................................ Cognome:........................................................................ Nome:...........................................................................

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

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

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Linguaggio C Struct e union

Linguaggio C Struct e union FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struct e union 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Ereditarietà. Ereditarietà. Ereditarietà. Ereditarietà

Ereditarietà. Ereditarietà. Ereditarietà. Ereditarietà L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe

Dettagli

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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.VI.2015 VINCENZO MARRA Indice Esercizio 1 1 Definizione dei tipi P e T, e calcolo dell area.

Dettagli

Introduzione alla Programmazione in Java attraverso un esempio commentato

Introduzione alla Programmazione in Java attraverso un esempio commentato Corso di Studi in Informatica Programmazione 1 corso B prof. Elio Giovannetti Introduzione alla Programmazione in Java attraverso un esempio commentato Programmazione 1 B - a.a. 2002-03 53 Modello di memoria

Dettagli

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

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Paradigma O.O. Oggetti e Classi Ereditarietà Paradigma Object-Oriented Il paradigma O.O. si ispira all ambiente che ci circonda,

Dettagli

Ereditarietà e Polimorfismo

Ereditarietà e Polimorfismo Ereditarietà e Polimorfismo Riusare il software A volte si incontrano classi con funzionalità simili In quanto sottendono concetti semanticamente vicini È possibile creare classi disgiunte replicando le

Dettagli

Esercizio 3. Oppure fare queste operazioni nel metodo main all interno della classe Persona.

Esercizio 3. Oppure fare queste operazioni nel metodo main all interno della classe Persona. Esercizio 3 Scrivere un programma con i seguenti requisiti. Utilizzare una classe Persona che dichiara le variabili nome, cognome, età. Si dichiari inoltre un metodo dettagli() che restituisce in una stringa

Dettagli

24 - Possibili approfondimenti

24 - Possibili approfondimenti 24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca)

LAVORI ESTIVI DI INFORMATICA PER LA CLASSE IV Sez. Ainf (Prof. Tessore Luca) Ministero dell Istruzione, dell Università e della Ricerca Istituto Tecnico Industriale Statale Enrico Mattei Via Martiri di Cefalonia 46-20097 San Donato Milanese Tel. 0255691411 - Fax 025276676 itisando@tin.it

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

TIPI PRIMITIVI: LIMITI

TIPI PRIMITIVI: LIMITI TIPI PRIMITIVI: LIMITI I tipi primitivi sono i "mattoni elementari" del linguaggio In varie situazioni può però essere necessario trattare i tipi primitivi come oggetti quando una funzione pretende come

Dettagli

Programmazione 1 A.A. 2015/2016

Programmazione 1 A.A. 2015/2016 Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,

Dettagli

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)

Dettagli

IL CONCETTO DI CLASSE

IL CONCETTO DI CLASSE IL CONCETTO DI CLASSE Una CLASSE riunisce le proprietà di: componente software: può essere dotata di suoi propri dati / operazioni moduli: riunisce dati e relative operazioni, fornendo idonei meccanismi

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2

Dettagli

Dati aggregati. Violetta Lonati

Dati aggregati. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Oggetti Composti (1) Oggetti Composti (2)

Oggetti Composti (1) Oggetti Composti (2) Oggetti Composti () Negli esempi che abbiamo visto finora gli attributi delle classi erano variabili di tipo primitivo E però possibile definire come attributi dei riferimenti ad oggetti di qualche classe

Dettagli

Programmazione Orientata agli Oggetti

Programmazione Orientata agli Oggetti Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato

Dettagli

Java Le stringhe. Stringhe

Java Le stringhe. Stringhe Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 8 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Dettagli

Oggetti e classi. Cos è un oggetto

Oggetti e classi. Cos è un oggetto Oggetti e classi Cos è un oggetto Basta guardarsi intorno per scoprire che il mondo reale è costituito da oggetti: libri, biciclette, giocattoli, ma anche ragazzi, bambini, fiori, gatti, cani, fiumi, montagne,

Dettagli

Corso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico 2008/2009 Francesco Tortorella

Corso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico 2008/2009 Francesco Tortorella Corso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico Francesco Tortorella Le strutture Gli array permettono la sola aggregazione di variabili dello stesso tipo. Quindi

Dettagli

Array Bidimensionali in Java. Esempi di Elaborazioni su Matrici

Array Bidimensionali in Java. Esempi di Elaborazioni su Matrici Fondamenti di Informatica Array Bidimensionali in Java Esempi di Elaborazioni su Matrici Fondamenti di Informatica - D. Talia - UNICAL 1 Oggetti e array bidimensionali Sviluppiamo un programma Java che

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

GEOMETRIA ANALITICA. Il Piano cartesiano

GEOMETRIA ANALITICA. Il Piano cartesiano GEOMETRIA ANALITICA La geometria analitica consente di studiare e rappresentare per via algebrica informazioni di tipo geometrico. Lo studio favorisce una più immediata visualizzazione di informazioni,

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

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

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java

Dettagli

Array multidimensionali e stringhe

Array multidimensionali e stringhe Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione VIII Tatiana Zolo tatiana.zolo@libero.it 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono

Dettagli

Il concetto di Package

Il concetto di Package Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2008-2009 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 19 - Package in Java 1 Il concetto

Dettagli

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

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Eccezioni L esistenza di

Dettagli

Linguaggio C I puntatori

Linguaggio C I puntatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I puntatori 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso

Dettagli

Esempio: L EURO-CONVERTITORE (1) Scopo

Esempio: L EURO-CONVERTITORE (1) Scopo Esempio: L EURO-CONVERTITORE (1) Scopo Realizzare un sistema software per la conversione di euro in lire. In particolare, si vuole, definire un euro-covertitore e, dati due oggetti di tipo euro convertitore

Dettagli

Esercitazione n 1. Obiettivi

Esercitazione n 1. Obiettivi Esercitazione n 1 Obiettivi Introduzione all utilizzo di Java Development Kit (JDK) versione 1.3 Sviluppare programmi Java tramite linea di comando Es: javac, java, jdb, javadoc Primo esempio di programma

Dettagli

Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali

Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

Pubblico e privato. Per capire il concetto di pubblico e privato è possibile pensare a diversi oggetti del mondo reale. Ad esempio: bancomat.

Pubblico e privato. Per capire il concetto di pubblico e privato è possibile pensare a diversi oggetti del mondo reale. Ad esempio: bancomat. Pubblico e privato Per capire il concetto di pubblico e privato è possibile pensare a diversi oggetti del mondo reale. Ad esempio: bancomat. La tessera bancomat esegue operazioni sul conto corrente, ma

Dettagli

Esercizi della lezione 5 di Java

Esercizi della lezione 5 di Java Esercizi della lezione 5 di Java Esercizio 5 Create il tipo di dato Counter dell Esercizio 1 come sottoclasse del tipo di dato SimpleCounter. Esercizio 1 Create un tipo di dato Counter che abbia: un valore

Dettagli

1 La traslazione. 2 La composizione di traslazioni. 3 La rotazione

1 La traslazione. 2 La composizione di traslazioni. 3 La rotazione 1 La traslazione Per poter applicare una traslazione ad una generica figura geometrica si deve: ± creare il vettore di traslazione AB mediante il comando Vettore tra due punti; ± cliccare con il mouse

Dettagli

Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Gennaio 2015

Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Gennaio 2015 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2014 15 Gennaio 2015 Testo Il database di un bar è costituito da due vettori paralleli. Il primo

Dettagli