Fondamenti di Informatica T-1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Informatica T-1"

Transcript

1 Fondamenti di Informatica T-1 Classi e Oggetti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19

2 CLASSE: definizione Costrutto linguistico che permette di costruire componenti software che: Modellano entità del sistema come tipo di dato, definendone le caratteristiche e le operazioni Possono essere implementati e testati in modo indipendente dal resto del sistema Possono essere riutilizzati senza riscrittura di codice Fondamenti di Informatica T-1 Allegra De Filippo 2 / 19

3 VARIABILI di ISTANZA Caratterizzano lo stato interno di ogni oggetto: per più oggetti della stessa classe, possono avere valori diversi Information hiding: lo stato interno non deve essere direttamente visibile né modificabile dall esterno della classe le variabili di istanza vengono dichiarate private Per rendere il valore di una variabile di istanza noto all esterno o per modificarlo dall esterno si possono implementare i metodi GETTER/SETTER Fondamenti di Informatica T-1 Allegra De Filippo 3 / 19

4 METODI (richiamo) Come abbiamo già visto, i metodi permettono di richiedere servizi ad un determinato oggetto: ad esempio, conoscere il valore di una variabile di stato, o eseguire un operazione (che può alterare o meno lo stato dell oggetto) <visibilità><tipo output> <nome metodo>(<parametri input>) Fondamenti di Informatica T-1 Allegra De Filippo 4 / 19

5 METODI: GETTER/SETTER Keyword return: permette di restituire un valore all uscita della funzione (il tipo del valore restituito deve essere coerente con il tipo di output definito della funzione), terminando l esecuzione. Fondamenti di Informatica T-1 Allegra De Filippo 5 / 19

6 METODI: GETTER/SETTER Keyword this: si usa quando il nome di un parametro è uguale al nome di una variabile di istanza, indicando l oggetto corrente per evitare ambiguità. Fondamenti di Informatica T-1 Allegra De Filippo 6 / 19

7 CLASSE: esempio Fondamenti di Informatica T-1 Allegra De Filippo 7 / 19

8 OGGETTI Componenti DINAMICI, creati sul modello definito dalla classe (ISTANZE della classe). Sono utilizzabili come variabili, hanno un proprio stato (le variabili di istanza definite nella classe), si possono eseguire alcune operazioni su di essi (quelle definite come metodi nella classe): Fondamenti di Informatica T-1 Allegra De Filippo 8 / 19

9 COSTRUTTORE L inizializzazione degli oggetti al momento della loro creazione viene effettuata automaticamente tramite un metodo speciale detto costruttore il costruttore viene invocato automaticamente al momento della creazione dell oggetto (new) il nome del costruttore deve essere esattamente lo stesso della classe E possibile usare un costruttore di default (senza parametri) che inizializza le variabili di istanza con valori di default rispetto al loro tipo Fondamenti di Informatica T-1 Allegra De Filippo 9 / 19

10 ESERCIZIO 1 (SVOLTO (1)) Si vuole scrivere un programma che tenga traccia delle valutazioni prese da studenti in un determinato esame. Uno Studente è caratterizzato da un numero di matricola ed il voto che ha preso. Un Corso è caratterizzato invece da un nome e dall insieme di studenti che hanno sostenuto l esame associato. Implementare per entrambe le classi i metodi getter e setter. Fondamenti di Informatica T-1 Allegra De Filippo 10 / 19

11 ESERCIZIO 1 (SVOLTO (2)) Implementare inoltre per la classe Corso i seguenti metodi: public int getvoto(string matricola) : restituisce il voto preso all esame dallo studente associato a quella matricola. public Studente[ ] getstudentimigliori() : restituisce l insieme degli studenti che hanno preso la valutazione più alta. Si scriva inoltre un main di prova per inizializzare gli oggetti e testare i metodi sopra descritti. Fondamenti di Informatica T-1 Allegra De Filippo 11 / 19

12 ESERCIZIO 1 (SOLUZIONE Classe Studente) Fondamenti di Informatica T-1 Allegra De Filippo 12 / 19

13 ESERCIZIO 1 (SOLUZIONE Classe Corso (1)) Fondamenti di Informatica T-1 Allegra De Filippo 13 / 19

14 ESERCIZIO 1 (SOLUZIONE Classe Corso (2)) Fondamenti di Informatica T-1 Allegra De Filippo 14 / 19

15 ESERCIZIO 1 (SOLUZIONE Classe Main (1)) Fondamenti di Informatica T-1 Allegra De Filippo 15 / 19

16 ESERCIZIO 1 (SOLUZIONE Classe Main (2)) Fondamenti di Informatica T-1 Allegra De Filippo 16 / 19

17 ESERCIZIO 2 (1) Si scriva un programma Java che definisca opportuni classi e metodi per un sistema di prenotazione per un cinema multisala. I dati gestiti dal programma sono relativi a: Clienti, costituiti dalle informazioni: nome e età. Spettacoli, costituiti dalle informazioni: titolo del film, orario, costo del biglietto, numero di posti occupati (massimo 200). Si supponga che tali informazioni siano contenute in una classe Multisala nelle strutture dati: un vettore spettacoli, contenente le informazioni su ogni spettacolo (massimo 20); Fondamenti di Informatica T-1 Allegra De Filippo 17 / 19

18 Si definiscano i seguenti metodi: ESERCIZIO 2 (2) Metodi riservaposto, che incrementa i posti occupati ad uno spettacolo. Metodo dirittoariduzione, che controlla se un cliente ha diritto ad una riduzione (se ha età inferiore a 30 anni). Metodo cercafilm, che dato il nome di un film restituisce il primo spettacolo disponibile. Metodo prenotaspettacolo, che dato uno spettacolo ed un cliente, riserva un posto in sala al cliente, calcola se è applicabile una riduzione (in tal caso, il costo del biglietto viene decrementato del 20%) e restituisce il prezzo effettivo del biglietto. Metodo totaleprenotazioni, che dato il nome di un film restituisce numero di posti riservati per tale film in tutte le sale. Fondamenti di Informatica T-1 Allegra De Filippo 18 / 19

19 ESERCIZIO 2 (3) Il programma principale deve, infine, svolgere i seguenti punti: Creare alcune istanze di Spettacolo, un istanza di Multisala (con gli spettacoli creati in precedenza), e un istanza di Cliente. Chiedere all utente il nome di un film, mostrare il numero totale di prenotazioni per tale film, cercare il primo spettacolo disponibile e mostrarne le informazioni Chiedere all utente quanti posti desidera prenotare e, se i posti disponibili sono sufficienti, riservare un i posti richiesti al cliente, mostrando a video il prezzo del biglietto. Fondamenti di Informatica T-1 Allegra De Filippo 19 / 19

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Classi e oggetti(2) Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 10 ESERCIZIO SVOLTO (1) Si vuole scrivere

Dettagli

Fondamenti di Informatica T-1. Classi e oggetti

Fondamenti di Informatica T-1. Classi e oggetti Classi e oggetti 2 Classi Costrutto linguistico che permette di costruire componenti software che: Modellano entità del sistema come tipo di dato, definendone le caratteristiche e le operazioni Possono

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Classi e oggetti(1) Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 14 CLASSE: definizione Costrutto linguistico

Dettagli

Fondamenti di Informatica T-1. Classi & Oggetti

Fondamenti di Informatica T-1. Classi & Oggetti Classi & Oggetti 2 Classi Costrutto linguistico che permette di costruire componenti software che: Modellano entità del sistema come tipo di dato, definendone le caratteristiche e le operazioni Possono

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Classi e metodi astratti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 15 Classa astratta: definizione

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi polimorfi: upcast e downcast Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 15 Metodo polimorfo Un metodo

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Mappe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 1 Mappe: definizione Tabelle a due colonne:

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Collezioni, Mappe e Iteratori Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 Interfaccia

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi polimorfi: upcast e downcast Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 13 Metodo polimorfo Un metodo

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

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Array Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 ARRAY (1) Un vettore (array) è un insieme

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Ereditarietà Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 15 Ereditarietà: definizione Meccanismo

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

Strutture come parametri di funzioni

Strutture come parametri di funzioni Strutture come parametri di funzioni int main() { struct PolReg { int numlati; float lunghezzalato; PolReg p1; p1.numlati = 3; p1.lunghezzalato = 10.0; float perimetro = p1.numlati * p1.lunghezzalato;

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Interfaccia Comparable e Collezioni Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 22 Interfaccia

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi Statici Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 9 METODI STATICI Un metodo statico

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Collezioni: ArrayList Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 13 Interfaccia L interfaccia

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Iterazione (while e do..while) Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 13 ITERAZIONE Iterazione:

Dettagli

Fondamenti di Informatica T-1. Classi e array

Fondamenti di Informatica T-1. Classi e array Classi e array 2 Classi e metodi statici Una classe è un costrutto linguistico che permette di modellare un'entità di un sistema, definendone le caratteristiche (variabili interne) e le azioni (metodi).

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione 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

Dettagli

Fondamenti di Informatica T-1. Costruttori Ereditarietà

Fondamenti di Informatica T-1. Costruttori Ereditarietà Costruttori Ereditarietà 2 Costruttori Si occupano della creazione e dell'allocazione in memoria degli oggetti. public class Persona{ //Variabili di istanza private String nome; private String cognome;

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Selezione e Tipi Enumerativi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 SELEZIONE Permette

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Selezione e Tipi Enumerativi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 20 SELEZIONE Permette

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Ereditarietà Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 15 Ereditarietà: definizione Meccanismo per definire

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ESERCIZI - 1 http://www.diee.unica.it/giacinto/lab

Dettagli

Fondamenti di Informatica T-1. Classi e metodi astratti

Fondamenti di Informatica T-1. Classi e metodi astratti Classi e metodi astratti 2 Classi astratte L'ereditarietà è utile per rappresentare tassonomie e gerarchie di entità reali. Non sempre però tutti i livelli della gerarchia rappresentano entità concrete.

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

Fondamenti di Informatica T1 Ereditarietà

Fondamenti di Informatica T1 Ereditarietà Fondamenti di Informatica T1 Ereditarietà Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 10 Ereditarietà Costrutto che permette di definire

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

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

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

Dettagli

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

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

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

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

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi statici e array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 14 METODI STATICI: Definizione Un metodo

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi statici e Array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 12 METODI STATICI: Definizione Un metodo

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

Dettagli

Laboratorio di programmazione

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

Dettagli

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

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

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi 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

Dettagli

Fondamenti di Informatica T-1. Collezioni

Fondamenti di Informatica T-1. Collezioni Collezioni Collezioni 2 Java Collection Framework (JCF): supporto a qualunque struttura dati per contenere "elementi generici". Collection: nessuna ipotesi sul tipo di collezione Set: introduce l idea

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

Corso di Informatica

Corso 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

Dettagli

Tipi riferimento e stringhe

Tipi riferimento e stringhe Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 8 Tipi riferimento e stringhe A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Tipi riferimento e stringhe 1

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Input/Output e Interi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 19 TUTOR Angelo Feraudo Email: angelo.feraudo2@unibo.it

Dettagli

Programmazione in Java (I modulo) Lezione 20: Ereditarietà

Programmazione in Java (I modulo) Lezione 20: Ereditarietà Programmazione in Java (I modulo) Lezione 20: Ereditarietà Ereditarietà (Inheritance) Il programmatore definisce una classe generale In seguito definisce una classe più specifica Aggiungo soltanto nuovi

Dettagli

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

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

Dettagli

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami. Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Input/Output, Variabili, Tipi e Stringhe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 VARIABILI

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

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Ereditarietà Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 12 Ereditarietà: definizione Meccanismo per definire

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

Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso

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

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

Fondamenti di Informatica T1 Mappe

Fondamenti di Informatica T1 Mappe Fondamenti di Informatica T1 Mappe Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 16 Mappe Matrice N x 2 : Gli elementi della prima colonna,

Dettagli

Programmazione a Oggetti Lezione 8. Definizioni di Classi II

Programmazione a Oggetti Lezione 8. Definizioni di Classi II Programmazione a Oggetti Lezione 8 Definizioni di Classi II Sommario Costruzione di un oggetto Processo complesso che comprende varie fasi: 1. Allocare spazio per ogni campo - in ordine testuale - inizializza

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

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I {

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I { Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi

Dettagli

Prova d Esame Compito A

Prova d Esame Compito A Prova d Esame 19.04.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Stringhe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 13 STRINGHE: Definizione e creazione Stringa

Dettagli

Oggetti. Definizioni di Classi II

Oggetti. 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

Dettagli

Definizione di classi

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

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Istruzioni di selezione e tipi enumerativi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 27 SELEZIONE Permette

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

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami

Dettagli

Verso l architettura MVC-2 i JavaBeans

Verso l architettura MVC-2 i JavaBeans Verso l architettura MVC-2 i JavaBeans 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 Limiti dell approccio PROGRAMMA UNICO Il programma unico (servlet) svolge tre tipi di

Dettagli

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate

Dettagli

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate

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

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù

Dettagli

Fondamenti di Informatica T1 Interfaccia Comparable Collezioni

Fondamenti di Informatica T1 Interfaccia Comparable Collezioni Fondamenti di Informatica T1 Interfaccia Comparable Collezioni Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 19 Interfaccia Comparable Fa

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Esamix Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 31 ESAMIX Strumento per la consegna delle prove

Dettagli

Definizione di classi

Definizione di classi 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

Il paradigma OO e le Classi

Il paradigma OO e le Classi Oggetti e Classi (CAP 10) Alberto Garfagnini Università degli studi di Padova 1 Dicembre 2009 Il paradigma OO e le Classi La programmazione ad Oggetti () è una filosofia di programmazione che si basa sui

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

Informazioni generali

Informazioni generali Informazioni generali Esercitazioni del corso di Fondamenti di informatica Tutor: Ing. Rughetti Diego Esercitazione: Giovedì 14.30-16.00 Tutoraggio: Giovedì 16.15-17.45 Contatto: rughettidiego@tiscali.it

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1)

Corso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1) Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Strutture e Unioni DD Cap. 10, pp. 379-391, 405-406 KP Cap. 9, pp. 361-379 Strutture Strutture Collezioni di variabili correlate (aggregati)

Dettagli

Classi. Creazione di oggetti personalizzati

Classi. Creazione di oggetti personalizzati Classi Creazione di oggetti personalizzati Classi e oggetti Un oggetto è una particolare entità informatica definita da: attributi, che definiscono le caratteristiche dell oggetto; metodi, che definiscono

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

Lezione 4. Massimiliano Palese IEEE Student Member

Lezione 4. Massimiliano Palese IEEE Student Member Lezione 4 Massimiliano Palese IEEE Student Member Object Oriented Ereditarietà, Incapsulazione e Polimorfismo Implementazione delle Classi Utilizzo degli oggetti Un paradigma per la virtualizzazione della

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

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

La Gestione della Memoria. Carla Binucci e Walter Didimo

La Gestione della Memoria. Carla Binucci e Walter Didimo La Gestione della Memoria Carla Binucci e Walter Didimo Esecuzione di programmi Java L esecuzione di un programma Java richiede: la compilazione del codice Java in bytecode Java (un linguaggio macchina

Dettagli

Seconda Prova Intracorso di Fondamenti di Informatica e Programmazione 04/12/2017

Seconda Prova Intracorso di Fondamenti di Informatica e Programmazione 04/12/2017 Nome Cognome Matricola Firma Esercizio 1 (10 punti) Traccia B Spazio Riservato alla Commissione Esercizio 2 (10 punti) Esercizio 3 (10 punti) Totale (30 punti) Seconda Prova Intracorso di Fondamenti di

Dettagli

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

A. 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

Dettagli

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Corso 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

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

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

Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via

Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via Introduzione alle Classi / Oggetti Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via Un oggetto può essere definito elencando

Dettagli

Le basi del linguaggio Java

Le 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

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

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 15

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Stringhe ed Array. Fondamenti di Informatica A-K

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

Dettagli