1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Oggetti Java.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
26/10/2004Laboratorio di Programmazione - Luca Tesei1 Variabili e Oggetti Lo spazio di memoria di Java Le API di Java.
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
Classi ed Oggetti in Java (Cenni). Richiami Ruolo delle Classi in Java Oggetti.
MultiSet, Liste Ordinate
Le gerarchie di tipi.
Esercitazione Frame. Argomento Realizzazione di un tipo di dato astratto Usare le eccezioni per segnalare situazioni particolari Invariante e funzione.
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Fondamenti di Informatica
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
1 Corso di Informatica (Programmazione) Esercitazione 1 (26 novembre 2008)
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Grafico di funzione Disegna la Matematica.
Soluzione Esercizio - Classe Vettore
Approfondimento delle classi
Selezione (=scelta) con “if-else”
Lezione IX Laboratorio di Programmazione. Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo.
Java base IV: Java e la programmazione O.O.
OGGETTI COMPOSTI Una classe può contenere riferimenti a altre classi (o anche a se stessa): public class Orologio { Counter ore, minuti; } Loggetto Orologio.
Programmazione in Java Claudia Raibulet
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Conversione da base 10 a base X (Utilizzo della pila)
I metodi F. Bombi Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Programmazione ad oggetti
Definizione di classi Capitolo 18 febbraio 2004 Definizione di classi.
Oggetti in C# Lezione 2 Metodi e Static Oggetti in C# - Lezione 2.
1 novembre I nomi in Java F. Bombi 1 novembre 2002.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Ripasso su Java. Introduzione Per risolvere problemi complessi, i linguaggi di programmazione forniscono costrutti per realizzare nuove funzioni che trasformino.
Liste di Interi Esercitazione. IntList Lista di interi Una lista è una disposizione ordinata di elementi ( non in modo crescente-descrescente, ma per.
Metodologie di Programmazione Esercizi sulla semantica di Java.
Esercizio 2. Si mostri l’evoluzione dello stato (ambiente di classi, heap, pila) durante la valutazione delle seguenti dichiarazioni di classe nei punti.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Temp. Esercizio DataSet Generare 100 numeri interi casuali tra 1 e Visualizzare la loro media e il valore massimo. A questo scopo realizzare la.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Ese 1 e 3 (del 6 Aprile 2005). Primo Ese Si identifichino gli errori che il compilatore segnalerebbe per il seguente programma Tipi Legami tra dichiarazioni.
LIP: 11 Maggio 2007 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
Introduzione a Java. Java Linguaggio Object-Oriented La maggior parte dei dati manipolati dai programmi e’ contenuta in oggetti La principale forma di.
LIP: 4 Maggio 2007 Interfacce. Cos’e’ una Interfaccia una interfaccia e’ un particolare tipo di classe contiene solo la specifica non ha implementazione.
Fondamenti di informatica T-A Esercitazione 5 : Stringhe ed array AA 2012/2013 Tutor : Domenico Di Carlo.
1 Java primo contatto Quando le classi fanno la differenza …
ESERCITAZIONE Problema Scrivere una funzione che scambi due interi non opera su oggetti  funzione statica scritta dentro a una classe contenitore.
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
30/10/01Array 1  Un array e’ una struttura dati che contiene piu’ valori del medesimo tipo.  La lunghezza di un array e’ stabilita quando l’array viene.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
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.
Esercizi.
Transcript della presentazione:

1 Java secondo contatto Nel tunnel una luce…

2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore ritorna il valore attuale (intero)  Il metodo contaSu incrementa il valore del contatore e non ritorna nulla Definire la classe Avvia (il main) per  Creare una istanza Contatore;  Incrementare il contatore 2 volte;  Stamparne il valore.

3 Classe Contatore public class Contatore { int valore = 0; // var. istanza public int getValore() { // no parametri return valore; } public void contaSu() { // non restituisce info valore = valore + 1; // valore++; }

4 Metodo main – classe separata public class Avvia { public static void main(String[] args) { Contatore c = new Contatore(); c.contaSu(); System.out.println(c.getValore()); }  Si poteva scrivere il main direttamente nella classe Contatore?

5 Struttura di una classe public class Contatore { int valore = 0; public int getValore() { return valore; } public void contaSu() { valore = valore + 1; } Definizione var. di classe Inizializzazione var. di classe Definizione classe Definizione metodo Tipo di ritorno del metodo Uso var. di istanza della classe

6 Indentazione e campo di azione public class Contatore { int valore = 0; public int getValore() { } public void contaSu() { } Dichiarazione di classe Metodo Campo

7 Aggiungiamo altri metodi Aggiungere due metodi:  void contaGiu() che decrementa il contatore di 1 unità  void impostaValore(int val) che imposta il valore del contatore al valore val Definiamo una nuova classe Avvia:  Creare una istanza Contatore; stamparne il valore Incrementarlo e stamparne il valore Decrementarlo e stamparne il valore Impostare il valore a 10 e stampare il valore

8 Classe Contatore - nuovi metodi public class Contatore { private int valore = 0; // var. istanza public int getValore() { // no parametri return valore; } public void contaSu() { // non restituisce info valore = valore + 1; // valore++; } public void contaGiu(){ valore = valore - 1; //valore -- } public void impostaValore(int val){ valore=val; } Parametro del metodo

9 Metodo main aggiornato public class Avvia { public static void main(String[] args) { Contatore c = new Contatore(); System.out.println(c.getValore()); c.contaSu(); System.out.println(c.getValore()); c.contaGiu(); System.out.println(c.getValore()); c.impostaValore(10); System.out.println(c.getValore()); }

10 Inizializzazione del contatore Come creare l’oggetto contatore con valore iniziale pari a 10?  Modifico l’assegnazione del campo della classe private int valore = 10; E se volessi usare due contatori, con valori 10 e 20?  Utilizzo il metodo impostaValore(…) Contatore c = new Contatore(); C.impostaValore(10);…

11 Classe Contatore e costruttori public class Contatore { int valore; //costruttore public Contatore(int v){ valore = v; } //costruttore senza argomenti public Contatore(){ this.valore = 0; } Riferimento Implicito this Parametro del metodo Var. di istanza / campo della classe

12 Metodo main public class Avvia { public static void main(String[] args) { Contatore c = new Contatore(10); System.out.println(c.getValore()); c.contaGiu(); System.out.println(c.getValore()); }

13 Utilizzo di piu’ istanze Creare due istanze di Contatore con valori iniziali pari a 10 e 20 rispettivamente Incrementare il contatore di ognuno e stamparne il valore

14 Metodo main - Uso di più istanze public class Avvia { public static void main(String[] args) { Contatore c1 = new Contatore(10); Contatore c2 = new Contatore(20); c1.contaSu(); c2.contaSu(); System.out.println(“Primo:”+c1.getValore()); System.out.println(“Secondo:”+c2.getValore()); }

15 Contatore che ricorda Modificare la classe contatore in modo che  Venga memorizzato il valore iniziale impostato  Contenga un metodo reset() che permette di reimpostare il valore del contatore al valore iniziale  Contenga un metodo getValoreIniziale() che ritorna il valore iniziale

16 Esercizio per Casa Classe Vettore (vettore geometrico con origine nel centro degli assi) public class Vettore{ //crea un vettore con ascissa e ordinata specificati public Vettore(double x, double y){…} //ritorna il valore dell’ascissa public double getAscissa(){…} //ritorna il valore dell’ ordinata public double getOrdinata(){…} //stampa su out il vettore nella forma (x,y) public void stampa() {…} //somma al vettore corrente quello passato come parametro e modifica l’oggetto public void somma(Vettore f) {…} //calcola il modulo del vettore public double calcolaModulo() {…} //moltiplica il vettore corrente per uno scalare public double moltiplicaPerScalare(double s) {…} }

17 Competenze Utilizzo delle classi  Creazione di oggetti  Definizione di metodi  Invocazione di metodi  Definizione di campi Utilizzo di classi multiple Definizione di classi (fabbrica di oggetti)  Metodi di classe  Variabili di instanza (campi)  Metodi con parametri Creazione di instanze (oggetti) Costruttori