Introduzione all Object Orientation

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione all Object Orientation"

Transcript

1 Introduzione all Object Orientation Introduzione all object orientation Il java è un linguaggio orientato agli oggetti. La classe è il costrutto logico su cui si basano i linguaggi orientati agli oggetti perché definisce la forma e la natura di un oggetto. Qualunque concetto si desideri implementare in un programma java, deve essere incapsulato in una classe. Le classi create fino ad ora esistevano semplicemente per incapsulare il metodo main. La classe definisce un nuovo tipo di dati, che successivamente può essere utilizzato per creare oggetti di quel tipo. La classe è un modello di un oggetto L oggetto è una istanza di una classe 1

2 Introduzione alle classi Forma generale di una classe: class nomeclasse tipo variabile-istanza1; tipo variabile-istanza2; tipo variabile-istanzan; tipo nomemetodo1(elenco parametri) //corpo del metodo tipo nomemetodon(elenco parametri) //corpo del metodo Le variabili (variabili di istanza) ed i metodi definiti all interno di un istruzione class sono definiti membri della classe. Ogni istanza di una classe contiene una propria copia delle variabili di istanza! Introduzione alle classi Una classe semplice: class Box double width; double height; double depth; Una dichiarazione class crea solo un modello, non un vero e proprio oggetto! Per creare realmente un oggetto Box, occorre utilizzare l istruzione: Box mybox = new Box(); mybox = 2

3 Introduzione alle classi Per accedere alle variabili membro si utilizza l operatore punto (.) mybox.width = 100; = 100 mybox = L operatore punto viene usato sia per accedere alle variabili di istanza sia per accedere ai metodi all interno di un oggetto. Introduzione alle classi class Box double width; double height; double depth; class BoxDemo Box mybox=new Box(); double vol; mybox.width=10; mybox.height=20; mybox.depth=15; vol = mybox.width*mybox.height*mybox.depth; System.out.println("volume is " + vol); Attenzione: una classe deve stare in un file.java omonimo 3

4 Introduzione alle classi class Box double width; double height; double depth; class BoxDemo Box mybox1=new Box(); Box mybox2=new Box(); double vol; mybox1.width=10; mybox1.height=20; mybox1.depth=15; mybox2.width=3; mybox2.height=6; mybox2.depth=9; vol=mybox1.width*mybox1.height*mybox1.depth; System.out.println("volume is " + vol); vol=mybox2.width*mybox2.height*mybox2.depth; System.out.println("volume is " + vol); Introduzione alle classi L istruzione seguente: Box mybox = new Box(); è la composizione delle seguenti due fasi: Box mybox; mybox = new Box(); //Dichiarazione del riferimento all oggetto //Allocazione di un oggetto di tipo Box (in fase di esecuzione) Istruzione Effetto Box mybox; null mybox mybox = new Box(); Una classe è un costrutto logico, mentre un oggetto è una realtà fisica. mybox Width Height Depth Oggetto Box 4

5 Introduzione alle classi Le istruzioni seguenti: hanno il seguente effetto: Box b1 = new Box(); Box b2 = b1; b1 Width Height Depth Oggetto Box b2 Qualunque modifica apportata all oggetto mediante b2 influirà sull oggetto a cui fa riferimento b1, poiché sono lo stesso oggetto. Introduzione alle classi I metodi class Box double width; double height; double depth; void volume() //non restituisce alcun valore accetta zero parametri System.out.print("Volume is "); System.out.println(width*height*depth); class BoxDemo3 Box mybox1=new Box(); Box mybox2=new Box(); mybox1.width=10; mybox1.height=20; mybox1.depth=15; mybox2.width=3; mybox2.height=6; mybox2.depth=9; mybox1.volume(); mybox2.volume(); 5

6 Introduzione alle classi I metodi class Box double width; double height; double depth; double volume() //restituisce un valore accetta zero parametri return width*height*depth; class BoxDemo4 Box mybox1=new Box(); Box mybox2=new Box(); double vol; mybox1.width=10; mybox1.height=20; mybox1.depth=15; mybox2.width=3; mybox2.height=6; mybox2.depth=9; vol = mybox1.volume(); System.out.println("Volume is " + vol); vol=mybox2.volume(); System.out.println("Volume is " + vol); Introduzione alle classi I metodi class Box double width; double height; double depth; double volume() return width*height*depth; void setdim(double w, double h, double d) //metodo con parametri width=w; height=h; depth=d; class BoxDemo5 Box mybox1=new Box(); Box mybox2=new Box(); double vol; mybox1.setdim(10,20,15); mybox2.setdim(3,6,9); vol=mybox1.volume(); System.out.println("Volume is " + vol); vol=mybox2.volume(); System.out.println("Volume is " + vol); 6

7 Introduzione alle classi I costruttori Un costruttore inizializza un oggetto immediatamente dopo che è stato creato. Ha lo stesso nome della classe in cui si trova ed è sintatticamente simile ad un metodo. Dopo essere stato definito, il costruttore viene chiamato immediatamente dopo la creazione dell oggetto, prima che l operatore new agisca. I costruttori non hanno alcun tipo di ritorno. Introduzione alle classi I costruttori class Box double width; double height; double depth; Box() //costruttore senza parametri System.out.println("Constructing Box"); width=10; height=10; depth=10; double volume() return width*height*depth; class BoxDemo6 Box mybox1=new Box(); Box mybox2=new Box(); double vol; vol=mybox1.volume(); System.out.println("Volume is " + vol); vol=mybox2.volume(); System.out.println("Volume is " + vol); 7

8 Introduzione alle classi I costruttori class Box double width; double height; double depth; Box(double w, double h, double d) //costruttore con parametri width=w; height=h; depth=d; double volume() return width*height*depth; class BoxDemo7 Box mybox1=new Box(10,20,15); Box mybox2=new Box(3,6,9); double vol; vol=mybox1.volume(); System.out.println("Volume is " + vol); vol=mybox2.volume(); System.out.println("Volume is " + vol); Le 3 parole chiave dell object orientation Programmazione orientata al processo: Codice che agisce sui dati Programmazione ad oggetti: Programma costruito sulla base dei dati e di una serie di interfacce ben definite su questi dati I tre principi base della programmazione ad oggetti: Incapsulamento Meccanismo tramite il quale è possibile controllare rigidamente l accesso al codice e ai dati della classe attraverso un intefaccia ben definita. L accesso ai dati è possibile a prescindere dai dettagli implementativi. Ereditarietà Meccanismo tramite il quale un oggetto acquisisce le propietà di un altro. Classificazione gerarchica. L ereditarietà interagisce con l incapsulamento: se una data classe incapsula alcuni attributi, allora qualsiasi sottoclasse comprenderà gli stessi attributi più tutti quelli aggiuntivi dipendenti dalla sua specializzazione. animale labrador da riporto domesticus golden canino barboncino mammifero Polimorfismo Meccanismo tramite il quale un interfaccia può essere utilizzata per un insieme generale di azioni (una interfaccia, più metodi). lupus felino rettile 8

9 Esempio: Una classe stack //Questa classe definisce uno stack di interi contenente 10 valori class Stack int stck[] = new int[10]; int tos; Stack() tos = -1; void push(int item) if(tos==9) System.out.println("Stack is full."); else stck[++tos] = item; int pop() if(tos<0) else System.out.println("Stack underflow."); return 0; return stck[tos--]; Esempio: Una classe stack class TestStack Stack mystack1=new Stack(); Stack mystack2=new Stack(); for(int i=0;i<10;i++) mystack1.push(i); for(int i=10;i<20;i++) mystack2.push(i); System.out.println("Stack in mystack1:"); for(int i=0;i<10;i++) System.out.println(mystack1.pop()); System.out.println("Stack in mystack2:"); for(int i=10;i<20;i++) System.out.println(mystack2.pop()); //INCAPSULAMENTO: queste istruzioni non dovrebbero essere legali! mystack1.tos = -2; mystack2.stck[3] = 100; 9

10 Esempio: Una classe stack //Stack: seconda versione class Stack private int stck[] = new int[10]; private int tos; Stack() tos = -1; void push(int item) if(tos==9) System.out.println("Stack is full."); else stck[++tos] = item; int pop() if(tos<0) else System.out.println("Stack underflow."); return 0; return stck[tos--]; Esempio: Una classe stack class TestStack Stack mystack1=new Stack(); Stack mystack2=new Stack(); for(int i=0;i<10;i++) mystack1.push(i); for(int i=10;i<20;i++) mystack2.push(i); System.out.println("Stack in mystack1:"); for(int i=0;i<10;i++) System.out.println(mystack1.pop()); System.out.println("Stack in mystack2:"); for(int i=10;i<20;i++) System.out.println(mystack2.pop()); //INCAPSULAMENTO: queste istruzioni non sono legali! mystack1.tos = -2; mystack2.stck[3] = 100; 10

11 Polimorfismo class OverloadDemo void test() System.out.println("No parameters"); void test(int a) System.out.println("a: " + a); void test(int a, int b) System.out.println("a and b: " + a + " " + b); double test(double a) System.out.println("double a: " + a); return a*a; I metodi sovraccarichi devono distinguersi per tipo e/o numero di parametri Attenzione! Il tipo di ritorno non è sufficiente a differenziare due versioni di un metodo. Polimorfismo class Overload OverloadDemo ob = new OverloadDemo(); double result; ob.test(); ob.test(10); ob.test(10,20); result = ob.test(123.2); System.out.println("Result of ob.test(123.2): " + result); 11

12 Polimorfismo class OverloadDemo void test() System.out.println("No parameters"); void test(int a, int b) System.out.println("a and b: " + a + " " + b); void test(double a) System.out.println("Inside test(double) a: " + a); Cosa accadrebbe se richiamassimo il metodo test con un parametro intero? Polimorfismo class Overload_bis OverloadDemo ob = new OverloadDemo(); int i=88; ob.test(); ob.test(10,20); ob.test(i); //test() viene richiamato con un parametro intero ob.test(123.2); 12

13 Polimorfismo nei costruttori class Box double width; double height; double depth; Box(double w, double h, double d) width = w; height = h; depth = d; Box() width = -1; height = -1; depth = -1; Box(double len) width = height = depth = len; double volume() return width*height*depth; Polimorfismo nei costruttori class OverloadCons Box mybox1=new Box(10,20,15); Box mybox2=new Box(); Box mycube=new Box(7); double vol; vol=mybox1.volume(); System.out.println("Volume of mybox1 is " + vol); vol=mybox2.volume(); System.out.println("Volume of mybox2 is " + vol); vol=mycube.volume(); System.out.println("Volume of mycube is " + vol); 13

14 Riferimenti Dati in un programma Java: Dati dei tipi primitivi Riferimenti Riferimenti Dati che servono per manipolare gli oggetti Fungono da intermediari rispetto all oggetto e consentono di accedere I campi dati dell oggetto e di invocarne I metodi Riferimenti Dichiarazione di un riferimento Tipo del riferimento e identificatore Tipo del riferimento Nome di una classe Java I riferimenti sono tipati Valore per un riferimento Identificatore di un oggetto della classe corrispondente 14

15 Riferimenti Esempio: Box b1; Calcolatrice c; java.io.bufferedreader br; Semantica della dichiarazione: Assegna alla variabile di tipo riferimento uno spazio nella memoria che può contenere l identificatore di un oggetto della classe corrispondente Attenzione Il riferimento e l oggetto a cui si riferisce sono due dati completamente diversi che corrispondono a zone di memoria diverse Riferimenti Modificatori: public, protected, private Determinano la visibilita del riferimento static Rappresentano attributi/funzionalità intrinseche alla classe stessa, e non sono associati ad un particolare oggetto. Una variabile deve essere di istanza se, concettualmente, il suo valore può essere diverso per oggetti diversi Una variabile dovrebbe essere statica se il suo valore non cambia da un oggetto all'altro Se un metodo accede ad una variabile d'istanza, non può essere statico Se un metodo non accede ad alcuna variabile d'istanza, dovrebbe essere statico final Determina l impossibiloita di ridefinire un metodo Usato per definire costanti in java 15

16 Riferimenti Operazioni possibili su un riferimento: Assegnazione Uso dell oggetto a cui si riferisce (con il. ) Passaggio dei parametri Assegnazione Con un costruttore Con il valore di un altro riferimento Con il valore speciale null Riferimenti Esempio: Box b1 = new Box(); Box b2; b2 = b1; // i due riferim. puntano allo stesso oggetto b1.volume(); // uso del. b1 = null; // assegnamento del valore nullo Una annotazione importante Il riferimento funge da intermediario per l oggetto solo quando si utilizza il punto. In tutti gli altri casi si lavora con il valore del riferimento Esempio un pezzo di codice che, date due circonferenze, verifica se hanno gli stessi valori (centro e raggio) 16

17 Confronti Una prima soluzione (errata): Circonferenza c1 = new Circonferenza (1, 1, 2); Circonferenza c2 = new Circonferenza (1, 1, 2); if (c1 == c2) System.out.println( Circonferenze di valore uguale ); Una seconda soluzione: Circonferenza c1 = new Circonferenza (1, 1, 2); Circonferenza c2 = new Circonferenza (1, 1, 2); if (c1.getascissacentro() == c2.getascissacentro() && c1.getordcentro() == c2.getordinatacentro() && c1.getraggio() == c2.getraggio()) System.out.println ( Circonferenze uguali ); Confronti Di conseguenza: attenzione ai confronti tra oggetti Due tipi di confronti: confronti tra i riferimenti (confrontano gli id. degli oggetti puntati): servono a verificare se due rif. puntano allo stesso oggetto confronti tra i valori degli oggetti: servono a verificare se oggetti diversi hanno gli stessi valori per le proprietà 17

18 Confronti Un altro esempio: uguaglianza di stringhe. Verificare se due nomi sono uguali a Paolo String nome1 = new String ( Paolo ); String nome2 = new String ( Paolo ); if (nome1 == nome2 && nome1 == Paolo ) System.out.println( Si chiamano entrambi Paolo ); Soluzione errata: stiamo confrontando di nuovo I riferimenti public boolean equals ( Object o ); Confronti La versione corretta: String nome1 = new String ( Paolo ); String nome2 = new String ( Paolo ); if (nome1.equals(nome2) && nome1.equals( Paolo )) System.out.println( Si chiamano entrambi Paolo ); Implementazione di un metodo equals: public boolean equals ( Object o ) If ( (o instanceof Box) && (this.width == ((Box)o).width) && (this.height == ((Box)o).height) && (this.depth == ((Box)o).depth) ) ) return true; else return false; 18

19 Riferimento this Il Riferimento this : Riferimento di un oggetto a sè stesso Non ha senso nei metodi statici E particolare perchè si riferisce, a seconda del contesto, ad oggetti diversi Regola generale: Nel codice del metodo, il valore del riferimento this variadachiamataa chiamata. Ogni volta ha il valore del riferimento utilizzato per effettuare la chiamata del metodo Viene anche detto parametro implicito del metodo Passaggio dei parametri Per cominciare: parametri e argomenti in Java possono essere di due tipi (come le variabili): ditipodibase di tipo riferimento In sintesi: Java prevede esclusivamente il passaggio per valore per cui non è possibile, in un metodo, modificare il valore di un argomento attraverso un parametro Ma: Java prevede i riferimenti, e con i riferimenti nei metodi si possono modificare gli oggetti 19

20 Passaggio dei parametri Distinguiamo 2 tipologie di parametri: Passaggio dei parametri dei tipi di base: nel caso di valori dei tipi di base il passaggio avviene sempre per valore quindi non è possibile in alcun modo modificare il valore di un argomento di un tipo di base attraverso un parametro in un metodo Passaggio dei riferimenti: anche i riferimenti vengono passati ai metodi per valore (copia del valore dell argomento nello spazio di memoria del parametro) ðma, siccome il metodo riceve una copia del riferimento all oggetto, attraverso il riferimento può usare l oggetto e quindi modificarne lo stato si ottiene l effetto del passaggio per riferimento Passaggio dei parametri public void somma(double a, double b) this.risultato = a + b; public static void main(string[ ] args) double x, y; x = 20; y = 10; Calcolatrice c = new Calcolatrice(); c.somma(x, y); 20

21 Passaggio dei parametri public void somma(double a, double b) this.risultato = a + b; a++; public static void main(string[ ] args) double x, y; x = 20; y = 10; Calcolatrice c = new Calcolatrice(); c.somma(x, y); System.out.println(x); // stampa 20 Passaggio Parametri public class parametri int x = 1; double d[] = new double[2]; d[0] = 25; metodo(d,x); System.out.println("Il valore di d[0] = " + d[0]); System.out.println("Il valore di x = " + x); static void metodo(double s[],inti) s[0] = 100; i = 18; 21

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Capitolo 7. Un occhiata più attenta a metodi e classi

Capitolo 7. Un occhiata più attenta a metodi e classi Capitolo 7 Un occhiata più attenta a metodi e classi 7.1 Sovraccaricare i metodi 7.2 Utilizzare gli oggetti come parametri 7.3 Un occhiata più attenta al passaggio degli argomenti 7.4 Restituire gli oggetti

Dettagli

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

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

Dettagli

Oggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.

Oggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. Classi e oggetti Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. OOP Vantaggi facilità di lettura e di comprensione

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

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

Dichiarazione di una classe. Dichiarazione ereditarietà

Dichiarazione di una classe. Dichiarazione ereditarietà Introduzione Il Java è un linguaggio di programmazione orientato agli oggetti (OOL), perché permette di realizzare in un programma tutti i concetti alla base dell OOP quali: l astrazione dei dati, mediante

Dettagli

Classi ed Oggetti. Fondamenti di Informatica A-K

Classi ed Oggetti. Fondamenti di Informatica A-K Classi ed Oggetti Fondamenti di Informatica A-K Esercitazione 5 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti,

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Concetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio

Concetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica Introduzione Ereditarietà in Sintesi È uno dei concetti chiave della programmazione orientata agli

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Confrontare valori 1

Confrontare valori 1 Confrontare valori 1 Confrontare valori Le condizioni dell enunciato if sono molto spesso dei confronti tra due valori if (x >= 0) y = x; Gli operatori di confronto si chiamano operatori relazionali >

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

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 Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO

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

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

Fondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti

Fondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti Fondamenti di Programmazione Prof.ssa Elisa Tiezzi Programmazione orientata a oggetti 1 Programmazione OO Concetti base: dati istruzioni Dati: variabili tipi Istruzioni: istruzioni base strutture di controllo

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

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

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

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

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

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

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

Ereditarietà. Unità 9. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Ereditarietà. Unità 9. 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

Modello procedurale versus modello O-O

Modello procedurale versus modello O-O Modello procedurale versus modello O-O Quando si scrive un programma si crea dentro il calcolatore un modello di una porzione del mondo reale. I linguaggi di programmazione procedurali consentono di costruire

Dettagli

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

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

Dettagli

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione

Dettagli

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma

Dettagli

Java: Definire Classi e Creare Oggetti

Java: Definire Classi e Creare Oggetti Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 21 marzo 2014 Introduzione Programmare con gli Oggetti Un programma Java è costituito

Dettagli

Metodi statci. Dichiarazione e chiamata di metodi statci

Metodi statci. Dichiarazione e chiamata di metodi statci Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

L oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto

L oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto Usare e costruire oggetti Variabili e Oggetti Lo spazio di memoria di Java Le API di Java Gli oggetti sono entità di un programma che si possono manipolare invocando i metodi System.out oggetto della classe

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

17 - Classi parzialmente definite: Classi Astratte e Interfacce

17 - Classi parzialmente definite: Classi Astratte e Interfacce 17 - 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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli

Dettagli

Uguaglianza e copia di oggetti

Uguaglianza e copia di oggetti Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La

Dettagli

Gerarchia di classi Java 1

Gerarchia di classi Java 1 Specializzare un modello Gerarchia di classi Java Corso di laurea in Una classe modella un pezzo di realtà Una macchina, una moneta, un impiegato Spesso è necessario specializzare la versione originale

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Object Oriented Programming: Fondamenti Prof. Stefano Mariani Dott. Alket Cecaj Indice Introduzione all OOP Classi vs. oggetti Campi

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 c versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 9: array

Fondamenti di informatica T-1 (A K) Esercitazione 9: array Fondamenti di informatica T-1 (A K) Esercitazione 9: array AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 9 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del

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 Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1:

ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1: ESERCIZI JAVA Esercizi sulle Interfacce Esercizio 1: Java mette a disposizione un'interfaccia chiamata Comparable. Quando un oggetto implementa questa interfaccia esso può implementare un metodo chiamato

Dettagli

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile

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

Laboratorio di Sistemi Polimorfismo Java. Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java.

Laboratorio di Sistemi Polimorfismo Java. Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java. Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java. Di solito se abbiamo la struttura di una classe con gli attributi e i metodi possiamo istanziare

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

Fondamenti di Java. Soluzione esercizio hashcode

Fondamenti di Java. Soluzione esercizio hashcode Fondamenti di Java Soluzione esercizio hashcode Esercizio Definire una classe con una hashcode corretta. Aggiungere delle istanze "uguali" a un set, e controllare la dimensione del set ottenuto. Vi torna

Dettagli

Definizione di classi. Walter Didimo

Definizione di classi. Walter Didimo Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti

Dettagli

Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals()

Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals() Programmazione in Java (I modulo) Lezione 21: Classi derivate e l'operatore instanceof Riscrivere il metodo tostring() Riscrivere il metodo equals() Ereditarietà (Inheritance) RIASSUMIAMO DALLA SCORSA

Dettagli

Array. Walter Didimo

Array. Walter Didimo Array Walter Didimo Un problema ricorrente Gli strumenti di programmazione che abbiamo visto sin qui non sono ancora sufficienti per risolvere tutti i problemi di base Consideriamo ad esempio il seguente

Dettagli

Gerarchia di classi Java 1

Gerarchia di classi Java 1 Specializzare un modello Gerarchia di classi Java Corso di laurea in Una classe modella un pezzo di realtà Una macchina, una moneta, un impiegato Spesso è necessario specializzare la versione originale

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Uso dei Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

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

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il

Dettagli

Ereditarietà: concetti di base

Ereditarietà: concetti di base : concetti di base L ereditarietà è uno dei concetti base della programmazione ad oggetti Concetto di base: l ereditarietà permette di usare una classe precedentemente definita per la definizione di una

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 8 Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli

PROGRAMMAZIONE 2 4. Java: un modello operazionale

PROGRAMMAZIONE 2 4. Java: un modello operazionale PROGRAMMAZIONE 2 4. Java: un modello operazionale PR2 2018-2019 1 Abstract Stack Machine Abstract Stack Machine: modello computazionale per Java che permette di descrivere la nozione di stato modificabile

Dettagli

L Array e un oggetto. L array puo contenere elementi che sono: tipi primitivi, o oggetti (in realta riferimenti ad oggetti!!!).

L Array e un oggetto. L array puo contenere elementi che sono: tipi primitivi, o oggetti (in realta riferimenti ad oggetti!!!). Arrays Idea Fornire il concetto di array presente nei piu comuni linguaggi di programmazione Un array e una struttura statica, una volta creato la sua dimensione (numero di elementi che lo compongono)

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni 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 Corso

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

unità di compilazione

unità di compilazione Il linguaggio Java Il controllo degli accessi alle classi ed ai membri di una classe Controllo degli accessi Accesso alle classi Accesso alle classi package miopackage; public class A { B b = new B();

Dettagli

Variabili e Metodi di classe Interfacce e Package File in Java

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

Dettagli

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo Esempi al calcolatore su: 1) 2) Subtyping e Polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il

Dettagli

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati Oggetti Le classi in Java Corso di laurea in Un oggetto è definito dal suo stato - descrive le sue caratteristiche comportamento - quello che può fare Ad esempio: il modello di una moneta Una moneta può

Dettagli

Esonero del corso di Programmazione a Oggetti

Esonero del corso di Programmazione a Oggetti Esonero del corso di Programmazione a Oggetti Roma, 26 novembre 2008 Considerate le seguenti definizioni di classi e interfacce in Java: class P {public static void print(string s){system.out.println(s);

Dettagli

Programmazione orientata agli oggetti Oggetti Composti. Oggetti composti

Programmazione orientata agli oggetti Oggetti Composti. Oggetti composti Programmazione orientata agli oggetti Oggetti Composti 1 - 1 Negli esempi che abbiamo visto finora gli attributi delle classi erano variabili di tipo primitivo E però possibile definire come attributi

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA4 A2 Utilizzo di classi 1 Prerequisiti Implementazione di classi Funzionamento di una classe Parametri formali e attuali di una funzione 2 1 Introduzione In questa

Dettagli

Oggetti e dati primitivi 1

Oggetti e dati primitivi 1 I membri delle classi Oggetti e dati primitivi Corso di laurea in Le classi contengono 2 tipi di membri, definiti per l intera classe o per le singole istanze Le variabili o i campi, che rappresentano

Dettagli

16 - Ereditarietà, tipi e gerarchie

16 - Ereditarietà, tipi e gerarchie 16 - Ereditarietà, tipi e gerarchie 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

Dettagli

16 - Ereditarietà, tipi e gerarchie

16 - Ereditarietà, tipi e gerarchie 16 - Ereditarietà, tipi e gerarchie 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

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: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

17 - Ereditarietà, tipi e gerarchie

17 - Ereditarietà, tipi e gerarchie 17 - Ereditarietà, tipi e gerarchie 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

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array 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 Corso di Laurea

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

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA9 B3.1 Mutua esclusione 1 Prerequisiti Programmazione concorrente Sezione critica Mutua esclusione lock() e unlock() 2 1 Introduzione Si considerino le seguenti situazioni

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori A.A. 2009/2010

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori A.A. 2009/2010 Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori l Introduzione ai Thread in Java A.A. 2009/2010 1 Thread Un thread è un flusso sequenziale di esecuzione di istruzioni all interno

Dettagli

Java Gli array. Array

Java Gli array. Array Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono

Dettagli

Usare e costruire oggetti. Concetti Fondamentali. Interfaccia Pubblica di una. Application Program Interface

Usare e costruire oggetti. Concetti Fondamentali. Interfaccia Pubblica di una. Application Program Interface Concetti Fondamentali Interfaccia pubblica di una classe Le API di Java Lo spazio di memoria della macchina astratta Java Blocchi e sottoblocchi Variabili di frame e loro visibilità Importazioni di classi

Dettagli

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int

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

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica

Dettagli

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso; Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Classi Una classe è un tipo strutturato. Gli oggetti sono istanze di classi. Una classe è composta da: ModalitàDiAccesso class

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

Fondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti

Fondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti Fondamenti di informatica T-1 (A K) Esercitazione 7: metodi, classi, oggetti AA 2018/2019 Tutor lorenzo.rosa@unibo.it 2 Esercitazione 7 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo

Dettagli