La definizione di una classe. Definizione di classi. Un esempio. La definizione di un metodo. La definizione di un costruttore
|
|
- Fortunato Pavone
- 4 anni fa
- Visualizzazioni
Transcript
1 4 La definizione di una classe Definizione di classi Struttura della definizione di una classe. Definizione di metodi e costruttori. Dichiarazione, visibilità ed uso dei parametri. Variabili locali e variabili di istanza. Istruzione di return Metodi statici. Un approccio metodologico alla definizione delle classi. class NomeDellaClasse { definizione di metodo definizione di metodo Una classe contiene i suoi metodi Le parentesi graffe aperte e chiuse fungono da delimitatori del contenuto di una classe 2 5 prototipo La definizione di un metodo Prototipo e corpo (body) Le parentesi graffe aperte e chiuse fungono da delimitatori del corpo del metodo corpo del metodo valore di ritorno nome del metodo public void laugh () { System.out.println( ha ha ha ); Un esempio class Laugher1 { public Laugher1() { public void laugh() { System.out.println("haha"); 3 6 prototipo corpo del metodo La definizione di un costruttore public nome ( argomenti ) {.. Nessun valore di ritorno Il nome del metodo coincide con quello della classe Utilizzare la classe Laugher1 1. Aggiungere 2. Salvare la classe in un file (Laugher1.java) 3. Compilare la classe (javac Laugher1.java) 4. Scrivere un programma che utilizzi la classe Laugher1 class UseLaugher1 { public static void main(string[] a) { Laugher1 x; x = new Laugher1(); x.laugh(); x.laugh();
2 7 10 Esempio class Laugher2 { public Laugher2() { public void laugh() { System.out.println("haha"); public void laugh(string syl) { System.out.print(syl); System.out.println(syl); Notare che il metodo laugh è overloaded Oggetti con memoria Supponiamo di voler fornire al metodo costruttore un argomento String che rimpiazzi ha come sillaba di default per la risata Laugher3 x; x = new Laugher3( ho ); x.laugh(); // hoho x.laugh("hee"); // heehee x.laugh(); // hoho 8 11 Metodi con argomenti Supponiamo che il mittente del messaggio laugh debba poter specificare la sillaba della risata ha, ho, hee Laugher2 x; x = new Laugher2(); x.laugh("ho"); x.laugh("hee"); Oggetti con memoria Costruttore: public Laugher3 (String( syl) Problemi: Gli argomenti di un metodo esistono solo durante l esecuzione del metodo Gli argomenti di un metodo sono visibili solo al metodo Come fare in modo che il metodo laugh possa conoscere il valore della syl? Fornire agli oggetti la capacità di memorizzazione Variabili di istanza (instance( variables) 9 12 Metodi con argomenti dichiarazione del parametro public void laugh (String sillaba ) { System.out.println(sillaba); System.out.println(sillaba); Il numero e tipo degli argomenti nel messaggio devono coincidere con quelli nel prototipo usi del parametro Variabili di istanza Una variabile dichiarata all interno di una classe ma al di fuori di qualsiasi metodo Accessibile a tutti i metodi dell oggetto Lo scopo è di memorizzare le informazioni necessarie ai metodi che devono essere preservate tra diverse invocazioni Ciascun oggetto ha le proprie variabili di istanza le quali hanno i propri valori Stato di un oggetto: il valori delle variabili di stato Tipicamente è inizializzato dal costruttore
3 13 16 Esempio class Laugher3 { public Laugher3(String syl) { defaultsyl = syl; public void laugh() { System.out.print (defaultsyl); System.out.println (defaultsyl); public void laugh(string syl) { System.out.print(syl); System.out.println(syl); private String defaultsyl; Le variabili di istanza possono essere usate da tutti i metodi Dichiarazione di una variabile di istanza Un approccio metodologico FASE1: Specifica di una classe 1. Decidere il comportamento che la classe dovrà fornire Identificare i metodi da fornire 2. Stabilire in che modo la classe verrà usata Definire l interfaccia della classe, i prototipi dei metodi 3. Scrivere un programma di esempio che utilizza la classe 4. Scrivere lo scheletro della classe Prototipi e corpi vuoti FASE2: Implementazione di una classe class Laugher4 { public Laugher4() { defaultsyl = new String("ha"); public Laugher4(String syl) { defaultsyl = syl; public void laugh() { System.out.print (defaultsyl); System.out.println(defaultSyl); public void laugh(string syl) { System.out.print(syl); System.out.println(syl); public void laugh(string s1, String s2) { System.out.print(s1); System.out.println(s2); private String defaultsyl; 14 miglioriamo ancora Obiettivo: scrivere una classe, InteractiveIO, che semplifichi la lettura da tastiera e la scrittura su video Comportamento: Scrivere un messaggio su video assicurandosi che venga immediatamente visualizzato Visualizzare un prompt e leggere una stringa dalla tastiera La creazione di un oggetto InteractiveIO deve avvenire senza dover fare esplicito riferimento a System.out e System.in utilizzatore class LaughALittle { public static void main(string[] a) { System.out.println("Live & laugh!"); Laugher4 x,y,z; x = new Laugher4("yuk"); y = new Laugher4("harr"); z = new Laugher4(); x.laugh(); x.laugh("hee"); y.laugh(); z.laugh(); Interfaccia: InteractiveIO interio; interio = new InteractiveIO(); interio.write( Answer each question ); String s; s = interio.promptandread( Name: ) Metodi: InteractiveIO(); void write(string); String promptandread(string);
4 19 22 : write Programma d esempio: class TryInteractiveIO { public static void main(string[] arg) throws Exception { InteractiveIO interio; String s; interio = new InteractiveIO(); s = interio.promptandread("name: "); interio.write("hello, ".concat(s)); Scheletro della classe: 20 : promptandread... BufferedReader br; br = new BufferedReader( new InputStreamReader(System.in)); String line; line = br.readline(); Un approccio metodologico L istruzione return FASE1: Specifica di una classe FASE2: Implementazione di una classe 1. Si tratta di scrivere i corpi dei metodi e definire le variabili di istanza necessarie Si può cominciare da qualunque metodo Si può passare da un metodo all altro prima della fine 2. E preferibile focalizzarsi sui metodi La necessità di variabili di istanza scaturirà dalla necessità di far condividere informazioni ai metodi Ricordare che le variabili di istanza devono essere inizializzate prima di poter essere usate (spesso questo è un compito del costruttore) La stringa letta è referenziata dalla variabile di referenza line che vive solo all interno del metodo (variabile locale) La soluzione precedente NON è corretta in quanto la stringa letta non viene restituita Il metodo ha un valore di ritorno di tipo String L istruzione return value permette ad un metodo di restituire un valore Una volta eseguita l istruzione return il metodo termina ed il mittente riprende l esecuzione
5 : promptandread 25 Interfaccia ed implementazione 28 BufferedReader br; br = new BufferedReader( new InputStreamReader(System.in)); String line; line = br.readline(); return line; Migliorare l implementazione senza cambiare l interfaccia 1. Ogni volta che si invoca il metodo promptandread viene creato un oggetto BufferedReader Spostare tale operazione nel costruttore 2. La variabile line non è necessaria Si può usare la composizione 3. Il metodo promptandread potrebbe visualizzare il prompt inviando un messaggio write a se stesso Si può utilizzare la parola chiave this che consente ad un metodo di riferirsi all oggetto cui appartiene Modifiche Poiché i metodi non hanno bisogni di variabili di istanza NON si dichiarano tali variabili Il costruttore NON deve fare niente BufferedReader br; br = new BufferedReader( 1 new InputStreamReader(System.in)); this.write(s); 3 return br.readline(); 2 La classe InteractiveIO // Write s to the monitor // Write s to the monitor, read a string from the keyboard, // and return a reference to it. public String promptandread(string s) throws Exception { BufferedReader br; br = new BufferedReader(new InputStreamReader(System.in)); String line; line = br.readline(); return line; 27 Errore La soluzione precedente è inaccettabile in quanto l oggetto BufferedReader br è dichiarata localmente al metodo costruttore ma è utilizzato dal metodo promptandread E necessario introdurre una variabile di istanza 30
6 31 br = new BufferedReader(new InputStreamReader(System.in)); this.writeandflush(s); public String promptandread(string s) throws Exception { this.writeandflush(s); return br.readline(); public void writeandflush(string s) { private BufferedReader br; Provate ad aggiungere un metodo writeln La classe Name Obiettivo: scrivere una classe, Name, che modelli il nome di una persona Comportamento: Ottenere le iniziali come oggetto String Ottenere il nome come oggetto String, nell ordine nome, cognome Ottenere il nome come oggetto String, nell ordine cognome, nome Aggiungere o sostituire un titolo (come Signore, Sig.na, Sig) 34 Regole Java 32 La classe Name 35 Le variabili possono essere globali all istanza o locali ad un metodo L ordine delle dichiarazioni è irrilevante Convenzione: i metodi prima delle variabili di istanza Controllo di accesso public: consente l accesso al di fuori della classe private: limita l accesso ai membri della classe Si applica sia ai metodi che alle variabili di istanza Interfaccia/Metodi: Name(String first, String last) String getinitials() String getlastfirst() String getfirstlast() void settitle(string t) Regole Java Periodo di vita di una variabile Parametri e variabili locali vivono solo durante l esecuzione di un metodo Le variabili di istanza hanno lo stesso periodo di vita dell oggetto cui appartengono Periodo di vita di un oggetto Un oggetto esiste fino a quanto c è una variabile di riferimento che si riferisce ad esso La distruzione è automatica 33 Programma d esempio: class IllustrateName { public static void main(string arg[]) throws Exception { Name n; String fname, lname, title; InteractiveIO io; io = new InteractiveIO(); fname = io.promptandread("first: "); lname = io.promptandread("last: "); title = io.promptandread("title: "); n = new Name(fname,lname); n.settitle(title); io.write(fname); io.write(lname); io.write(title); io.writeln(n.getfirstlast()); io.writeln(n.getinitials()); io.writeln(n.getlastfirst()); 36
7 37 40 Scheletro della classe: La classe Name class Name { public Name(String first, String last) { public String getinitials() { public String getlastfirst() { public String getfirstlast() { public void settitle(string newtitle) { Il metodo getinitials public String getinitials() { String s; s = firstname.substring(0,1); s = s.concat("."); s = s.concat(lastname.substring(0,1)); s = s.concat("."); return s; Implementazione Nome e cognome sono passato come parametro al costruttore I metodi getfirstlast e getlastfirst hanno entrambi bisogno di accedere a nome e cognome Il titolo deve avere un cicli di vita più lungo dell esecuzione del metodo settitle E necessario introdurre tre variabili di istanza private String firstname, lastname, title; I metodi get public String getlastfirst() { return lastname.concat(", ").concat(firstname); public String getfirstlast() { return title.concat(" "). concat(firstname). concat(" ").concat(lastname); Costruttore e metodo settitle public Name(String first, String last) { firstname = first; lastname = last; title = ""; public void settitle(string newtitle) { title = newtitle; Stato e comportamento Comportamento E definito dai metodi ed è comune a tutti gli oggetti della classe Stato E definito dalle variabili di istanza ed è proprio dell oggetto istanziato Es: Name n1,n2; n1 = new Name ( Tom, Petty ); n2 = new Name ( Benny, Roger ); Gli oggetti n1 ed n2 hanno o stesso comportamento ma stati diversi I valori delle variabili di istanza di ogni oggetto sono distinti
8 43 46 Comportamento e responsabilità Determinare le responsabilità di una classe è un ottimo punto di partenza per definirne il comportamento Le classi migliori sono quelle che si rendono responsabili dei task che le coinvolgono Esempio: estrarre una sottostringa da una stringa En classico: ogni classe dovrebbe essere responsabile di leggere e scrivere i propri oggetti La classe Name con input Obiettivo: inviare un messaggio chiedendo la creazione di un nuovo oggetto Name leggendolo dall ingresso Ma l oggetto non esiste e quindi NON si può inviare nessun messaggio In realtà: vogliano inviare un messaggio alla classe! La risposta Java: i metodi statici (di classe) Metodi non associati ad un oggetto ma alla classe stessa La classe Name con output Al minimo void print() { System.out.print(this.title); System.out.print(" "); System.out.print(this.firstName); System.out.print(" "); System.out.print(this.lastName); Poco flessibile: stampa solo su video Metodi statici Possono essere invocati senza alcun riferimento ad oggetto Sono definiti come tutti gli altri metodi con l aggiunta del prefisso static Sono invocati utilizzando il nome della classe La parola chiave this NON ha senso NON possono accedere variabili di istanza NON possono accedere metodi non statici POSSONO invocare il costruttore La classe Name con output Passando lo stream come argomento void print(printstream target) { target.print(this.title); target.print(" "); target.print(this.firstname); target.print(" "); target.print(this.lastname); La classe Name con input public static Name read(bufferedreader br) throws Exception { String first, last; first = br.readline(); last = br.readline(); return new Name(first,last); public static Name readi(interactiveio io) throws Exception { String first, last; first = io.promptandread("first name: "); last = io.promptandread("last name: "); return new Name(first,last);
9 49 Un esempio d uso class MakeMayor { public static void main(string[] a) throws Exception { Name mayor; mayor = Name.read(new BufferedReader( new InputStreamReader(System.in))); mayor.settitle("his Honor, the Mayor"); mayor.print(system.out); Ripensiamo il primo programma 50 class Program1 { public static void main (String[] arg) { System.out.println("Benvenuti al corso"); E la definizione di una classe Che contiene un unico metodo statico Che non restituisce alcun valore
Definizione di classi
Definizione di classi Struttura della definizione di una classe. Definizione di metodi e costruttori. Dichiarazione, visibilità ed uso dei parametri. Variabili locali e variabili di istanza. Istruzione
DettagliLa definizione di un metodo. Definizione di classi. La definizione di una classe. La definizione di un costruttore. Utilizzare la classe Laugher1
2 Definizione di classi Struttura della definizione di una classe. Definizione di metodi e costruttori. Dichiarazione, visibilità ed uso dei parametri. Variabili locali e variabili di istanza. Istruzione
DettagliL istruzione switch. Esecuzione condizionale (II parte) L istruzione switch. Payroll con menu (I) L istruzione switch. Payroll con menu (II)
4 Esecuzione condizionale (II parte) Il costrutto switch Il tipo boolean La variabile x viene valutata e confrontata con i vari casi Se il confronto con uno dei casi ha successo, viene eseguita l istruzione
DettagliLe 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
DettagliLaboratorio 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[]
DettagliDefinizione 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
DettagliUso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi
Uso degli oggetti Uso di oggetti predefiniti attraverso l'invio di messaggi. Il concetto di metodo; argomenti e restituzione di valori; segnatura e prototipo di un metodo. Il concetto di overloading. Le
DettagliFondamenti 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
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java
Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e
DettagliIntroduzione all uso degli oggetti in Java (parte I) Walter Didimo
Introduzione all uso degli oggetti in Java (parte I) Walter Didimo Java Java è un linguaggio di programmazione orientato agli oggetti; nel seguito vedremo: come sono strutturati i programmi Java come si
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario API di Java Istruzione di scrittura Istruzione di lettura 21/03/2011 2 API di Java Java è un linguaggio orientato agli oggetti basato
DettagliDefinizione di metodi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti
DettagliFileInputStream read() read(byte[]) readint() DataInputStream FileInputStream EOFException
ESERCITAZIONE 9 I/O Esercizio 1 Lettura da file binario Se gli interi letti appartengono a [-5;5] scrittura su un altro file binario Altrimenti sollevare una eccezione la quale stampa a video un messaggio
DettagliInput. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei
Input Il tipo char Alcune modalità di acquisizione di input 1 Lettura di dati in input Vediamo due modi per acquisire dei dati di input dall utente: 1. Tramite una finestra grafica di dialogo 2. Tramite
DettagliLavorare con più oggetti
Lavorare con più oggetti Lavorare con piu oggetti Iterazioni. Ciclo while 2 Processare più oggetti (1) Supponiamo di voler leggere e calcolare lo stipendio di più di un impiegato Al momento sappiamo come
DettagliIntroduzione Programmazione Java
Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea
DettagliFONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,
DettagliCapitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61
Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni
DettagliProgrammazione 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
DettagliUnità A1 Funzioni MODULO Java 2
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente
DettagliOggetti. Definizioni di Classi II
Programmazione a Oggetti Definizioni di Classi II Sommario Costruzioni di oggetti Campi e metodi di classe Overloading Istanziazione di oggetti Costruzione di un oggetto Processo complesso che comprende
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliCorso di Reti di Calcolatori LA
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori LA RMI: callback Silvia Vecchi Anno accademico 2003/2004 RMI: Callback 1 Callback (1) Molte applicazioni richiedono
DettagliA. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica
informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class
DettagliI Metodi. Fondamenti di Informatica A-K
I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA A - Array // Prerequisiti Variabili semplici Operazioni su variabili Strutture di controllo // Introduzione In molte situazioni reali può capitare di elaborare elenchi
DettagliOCA 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
DettagliMetodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere:
Metodi Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: invocazione: esecuzione di un metodo assegnamento: cambia lo stato di un campo ripetizione:
DettagliRETI DI CALCOLATORI Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione
DettagliUso 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
DettagliCorso di Informatica
Corso di Informatica Modulo T1 C1 Incapsulamento e tecniche OOP 1 Prerequisiti Tecnica elementare della programmazione Principi di programmazione OOP Metodologie di progettazione software 2 1 Introduzione
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Java - IO Corso di Programmazione ad Oggetti Seconda Università di Napoli Ing. Antonio Coronato ICAR - CNR Agenda Operazioni di IO da tastiera Oggetti System per le operazioni
DettagliJava: 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
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliCorso 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
DettagliProgrammazione 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)
DettagliProgrammazione 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ò
DettagliIntroduzione all uso degli oggetti in Java (parte II) Walter Didimo
Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe
DettagliEccezioni. Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi.
Eccezioni Corso di Programmazione CdS: Informatica e Tecnologie per la Produzione di Software Nicola Fanizzi fanizzi@di.uniba.it 2 Eccezione Evento anormale che avviene durante l'esecuzione del programma
DettagliLezione 16 programmazione in Java
Lezione 16 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I FILE Sgli stream (flussi) I file ad
DettagliGestione della memoria in Java. Emilio Di Giacomo e Walter Didimo
Gestione della memoria in Java Emilio Di Giacomo e Walter Didimo Gestione della memoria In questa lezione descriveremo un modello runtime (cioè a tempo di esecuzione) di gestione della memoria in Java
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliProgrammazione 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
DettagliProgrammazione 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
DettagliMuoversi all interno di un Vector. Vector e Enumeration. Enumeration. Collezioni di oggetti: Vector. La classe Object. Aggiungere oggetti a un Vector
Muoversi all interno di un Vector 4 Vector e Enumeration Attraversare la collezione di oggetti e visitare (elaborare) ciascun elemento E un processo ripetitivo e quindi viene usata una struttura di ciclo
Dettagli{4, 4, 2, 9, 13} {2, 2, 9, 13, 0} {0, 4, 2, 9, 13} {2, 9, 13, 0, 0}
16181 Nome Cognome A domande a risposta multipla con n scelte, la risposta corretta vale (n-1)/n*difficoltàdomanda, la risposta errata -1/n*difficoltà domanda, la risposta non data. Eseguendo il frammento
DettagliClassi 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,
DettagliConcetti 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
DettagliProgrammazione 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
DettagliFondamenti 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
DettagliProgrammazione 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
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliESERCIZIO 1 (FILE DI TESTO)
ESERCIZIO 1 (FILE DI TESTO) Scrivere su un file di testo righe inserite da console, fino a quando non viene inserita la linea vuota. Passare il nome del file come parametro al programma. Bisogna incapsulare
Dettagli7 - 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
DettagliUtilizzo delle classi
Utilizzo delle classi I metodi costruttore ed il loro utilizzo. Alcune classi di ingresso e uscita 2 Classi ed Oggetti predefiniti Oggetti predefiniti Sono presenti nel programma Non è necessario crearli
DettagliFornisce una interfaccia unificata per un insieme di interfacce di un sottosistema, rendendo più facile l uso di quest ultimo.
Facade 73 10. Facade (GoF pag. 185) 10.1. Descrizione Fornisce una interfaccia unificata per un insieme di interfacce di un sottosistema, rendendo più facile l uso di quest ultimo. 10.2. Esempio Un applicativo
DettagliOggetti. Oggetti e classi. Utilizzo di classi. Classe
Oggetti Oggetti e classi Oggetto: entità che può essere manipolata nel programma mediante l invocazione di metodi Black box dotato di:! Interfaccia pubblica " Metodi visibili " Comportamento dell oggetto!
DettagliProgrammazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali
Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile
DettagliProgrammazione a oggetti
Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software
DettagliVariabili e Parametri. Scope, Lifetime Inizializzazione
Variabili e Parametri Scope, Lifetime Inizializzazione Categorie di Variabili Variabili di istanza / campi saldo in BankAccount Variabili locali newsaldo nel metodo deposita() Parametri importo per il
DettagliVariabili e Parametri
Variabili e Parametri Scope, Lifetime Inizializzazione Categorie di Variabili Variabili di istanza / campi saldo in BankAccount Variabili locali newsaldo nel metodo deposita() Parametri importo per il
DettagliVariabili 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
DettagliArray. 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];
DettagliCaratteri Input da Console
Caratteri Input da Console Il tipo char Input dallo standard input 12/11/2004 Laboratorio di Programmazione - Luca Tesei 1 Il tipo base char Il tipo base char rappresenta i caratteri Come sappiamo Java
DettagliOggetti. Oggetti e occultamento delle informazioni. Definire oggetti. Oggetti. Definire oggetti la sintassi. Convenzione sugli identificatori
Oggetti Oggetti e occultamento delle informazioni Paolo Coppola Dipartimento di Matematica e Informatica Università degli Studi di Udine http://www.dimi.uniud.it/coppola/ coppola@dimi.uniud.it I metodi
DettagliInformatica. Prof. A. Longheu. Input e Output
Informatica Prof. A. Longheu Input e Output 1 Il package java.io Il package java.io definisce i concetti base per gestire l I/O da qualsiasi sorgente e verso qualsiasi destinazione. L obiettivo è fornire
DettagliFondamenti 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
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione e rimane immutato.
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 15 Definizione di metodi. Carla Limongelli Maggio Definizione di metodi 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 15 Definizione di metodi Carla Limongelli Maggio 2010 Definizione di metodi 1 Contenuti Introduzione alla definizione di metodi Prototipo
DettagliEsercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
DettagliLezione 5 Namespace e JavaDoc
Lezione 5 Namespace e JavaDoc Vittorio Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Organizzazione della lezione Il namespace di Java: i package
DettagliProgrammazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Struttura
Dettagli14 - 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
DettagliGli oggetti. Ogni oggetto ha un interfaccia e ogni oggetto ha un tipo. Incapsulamento. Oggetti. Contatore. Invio di Messaggi
Gli oggetti Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-149 Torino Ogni
DettagliLaboratorio di Programmazione Lezione 4. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 4 Cristian Del Fabbro Prossima lezione Mercoledì 25 novembre ore 8:30-11:00 Classe Una classe descrive degli oggetti tramite: Proprietà/variabili/campi (dati/caratteristiche,
DettagliLaboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013
Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità
DettagliProgrammazione 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
DettagliElementi DI INFORMATICA. Linguaggio C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Elementi DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:
DettagliCorso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
di Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona su Sommario di su di di di su Astrazione sugli oggetti di su Il concetto di classe Classe: realizza l astrazione
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale OOP: I/O da/su File e Java Exceptions Prof. Stefano Mariani Dott. Alket Cecaj Indice I/O da/su file: java.io e java.nio BufferedReader
DettagliModulo 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
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe/array Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliPrimi programmi in Java. Lezione II
Primi programmi in Java Lezione II Il processo di sviluppo Passo 1: scrivere il programma Software: un qualsiasi text editor Passo 2: compilare il programma Software: Java Development Kit (JDK) Comando:
DettagliLaboratorio di programmazione
Laboratorio di programmazione 25 ottobre 2017 Da questo laboratorio, lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class NomeClasse { public static void main(
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi 16. Stream di I/O Esempio. Visualizza sul monitor il contenuto di un file di caratteri. int i; while ((i
DettagliDefinizione 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
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - d Regole Sintattiche e Semantiche versione 1.2 Questo lavoro è concesso in uso secondo i termini di
DettagliEccezioni Precisazioni e approfondimenti
Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di
DettagliUso 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
DettagliFinestre di dialogo. Corso di Laboratorio di Programmazione Web. Controllo dell input e window.alert. prompt di stringhe!
Corso di Funzioni ed Oggetti Finestre di dialogo prompt( Inserisci il valore, 1000 ); restituisce la stringa inserita nel campo alarm( Stai per uscire! ); Dipartimento di Informatica Università degli Studi
DettagliRealizzazione di Classi. Emilio Di Giacomo e Walter Didimo
Realizzazione di Classi Emilio Di Giacomo e Walter Didimo Definizioni di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione
DettagliIII Appello - 4 giugno 2009
Corso di laurea in Comunicazione digitale Fondamenti di architettura e programmazione AA 2008/09 III Appello - 4 giugno 2009 Cognome Matricola Nome 1 (4 punti) Scrivete il programma Java, Esercizio, che
DettagliCreazione, eliminazione, lettura e scrittura di file di testo
Creazione, eliminazione, lettura e scrittura di file di testo Creazione Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file
Dettagli