Soluzione della prova scritta del 5 febbraio 2013
|
|
- Dionisia Testa
- 4 anni fa
- Visualizzazioni
Transcript
1 Corso di Programmazione Anno Accademico Prof. Giovanni Pighizzini della prova scritta del 5 febbraio 2013 Questo documento discute un esempio di soluzione di alcuni esercizi assegnati. Naturalmente è opportuno cimentarsi autonomamente nella soluzione della prova e, solo in un secondo tempo, confrontare quanto ottenuto con ciò che è presentato qui. Prestate particolare attenzione alle note e agli errori frequenti. Questi sono riportati nella speranza che in futuro divengano un po meno frequenti! Esercizio 1 Siano x e y due variabili di tipo int alla quali sono stati assegnati dei valori iniziali. Scrivete i valori delle due variabili dopo l esecuzione dei seguenti frammenti di codice, nell ipotesi che gli assegnamenti iniziali siano x = 1, y = 8: (a) x = x + y + y; y = y - x + y; y = x - y; (b) y = y - x + y; x = x + y + y; y = x - y; Le seguenti tabelle mostrano il contenuto delle variabili x e y dopo l esecuzione di ciascuna istruzione: (a) istruzione x y assegnamenti iniziali 1 8 x = x + y + y 17 8 y = y - x + y 17-1 y = x - y (b) istruzione x y assegnamenti iniziali 1 8 y = y - x + y 1 15 x = x + y + y y = x - y Pertanto, dopo l esecuzione del frammento (a) le variabili x e y contengono risperttivamente 17 e 18, mentre dopo l esecuzione del frammento (b) contengono 31 e 16. Errori nei calcoli. c 2013 Giovanni Pighizzini Il contenuto di queste pagine è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle pagine sono di proprietà dell autore. Le pagine possono essere riprodotte ed utilizzate liberamente dagli studenti, dagli istituti di ricerca, scolastici e universitari afferenti al Ministero dell Istruzione, dell Università e della Ricerca, per scopi istituzionali, non a fine di lucro. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente a, le riproduzioni a mezzo stampa, su supporti magnetici o su reti di calcolatori) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell autore. L informazione contenuta in queste pagine è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, ecc. L informazione contenuta in queste pagine è soggetta a cambiamenti senza preavviso. L autore non si assume alcuna responsabilità per il contenuto di queste pagine (ivi incluse, ma non limitatamente a, la correttezza, completezza, applicabilità ed aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste pagine. In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in utilizzi parziali.
2 della prova scritta del 5 febbraio Esercizio 2 Date due variabili a e b di tipo double, si considerino le seguenti espressioni: a > b - 10 a <= b (a) Esprimete in linguaggio Java la congiunzione delle due espressioni. (b) Esprimete in linguaggio Java la negazione dell espressione ottenuta al punto (a), senza utilizzare l operatore di negazione. L operatore di congiunzione (AND) è indicato in Java con il simbolo &&. Pertanto, per il punto (a) è sufficiente scrivere: a > b - 10 && a <= b Applicando le leggi di De Morgan, la negazione della condizione precedente è esprimibile come!(a > b - 10)!(a <= b) Ricordando che la negazione di > è <= e la negazione di <= è > otteniamo infine: a <= b - 10 a > b Non si devono confondere gli operatori di congiunzione (AND) e di disgiunzione (OR). Attenzione alla negazione degli operatori di confronto: la negazione di > non è <, ma <=. La negazione di >= è <, ecc. Gli operatori && e sono preferibili ai corrispondenti operatori orientati ai bit & e, per i quali la valutazione è meno efficiente, non utilizzando il meccanismo della lazy evaluation. Esercizio 3 Considerate il seguente metodo ricorsivo. Scrivete il risultato restituito dalle chiamate f(4) e f(5):... int f(int x) { if (x <= 1) return x; else return 3 + (x - 1) * f(x / 2); Dal codice del metodo osserviamo che: f(4) è uguale a * f(2). Calcoliamo dunque f(2): f(2) è uguale a * f(1). Il valore di f(1) è uguale a 1, fornito direttamente dal metodo. Sostituendo otteniamo che f(2) è uguale a 4 e, sostituendo di nuovo, f(4) è uguale a 15 Analogamente f(5) è uguale a * f(2). Sostituendo il valore di f(2), già calcolato per risolvere il punto precedente, otteniamo che f(5) vale 19.
3 della prova scritta del 5 febbraio Le divisioni utilizzate nel codice sono di tipo int, in quanto gli operandi sono di tipo int. Pertanto il risultato è di tipo int, indipendentemente dal valore di x. Esercizio 4 Considerate la dichiarazione di variabile String[] nomi e il seguente frammento di codice: int x = 0; try { x = nomi[x].length() / nomi[x + 1].length(); catch (ArithmeticException e) { x = x + 6; catch (ArrayIndexOutOfBoundsException e) { x = x + 4; catch (NullPointerException e) { x = x + 7; Ricordando che: - ArithmeticException viene sollevata in caso di anomalie nel calcolo di operazioni aritmetiche, - ArrayIndexOutOfBoundsException viene sollevata quando si tenti di accedere a una posizione inesistente in un array, - NullPointerException viene sollevata quando si tenti di accedere a un oggetto tramite un riferimento null, indicate, in ciascuno dei seguenti casi, il valore della variabile x dopo l esecuzione: a. l array riferito da nomi contiene (nell ordine indicato) riferimenti a oggetti che rappresentano le stringhe "formica", "ape". b. l array riferito da nomi contiene (nell ordine indicato) riferimenti a oggetti che rappresentano le stringhe "formica", "", "ape". c. nomi contiene null. d. l array riferito da nomi contiene come unico elemento il riferimento a un oggetto che rappresenta la stringa "ape". All inizio dell esecuzione, la variabile x viene inizializzata a 0. Viene poi eseguito il blocco try che contiene l assegnamento x = nomi[x].length() / nomi[x + 1].length(); Per calcolare il lato destro dell assegnamento, tramite il riferimento nomi si accede all array, prelevando l elemento di posto 0, per ricavare l operando sinistro della divisione, e, successivamente, quello di posto 1, per l operando destro. a. La situazione è rappresentata nella figura seguente:
4 della prova scritta del 5 febbraio L elemento di posto 0 dell array si riferisce alla stringa "formica", che ha lunghezza 7, quello di posto 1 alla stringa "ape", che ha lunghezza 3. Il risultato della divisione, che viene assegnato a x, è dunque 2. Il blocco try termina normalmente, senza alcuna anomalia. I blocchi catch vengono dunque ignorati. Il valore finale di x è 2. b. La situazione è rappresentata nella figura seguente: Anche in questo caso, l elemento di posto 0 dell array si riferisce alla stringa "formica", che ha lunghezza 7. L elemento di posto 1 si riferisce invece alla stringa vuota che ha lunghezza 0. Pertanto, il tentativo di effettuare una divisione solleva una ArithmeticException, intercettata nel primo blocco catch, nel quale a x si aggiunge 6. Pertanto il valore finale di x è 6. c. In questo caso il riferimento nomi contiene null: Pertanto non vi è alcun array associato a nomi. Il tentativo di accedere all array nell istruzione di assegnamento all interno del blocco try solleva una NullPointerException, intercettata dal terzo blocco catch, in cui a x, che contiene 0, viene aggiunto 7. Il valore finale di x sarà pertanto 7. d. In questo caso l array riferito da nomi contiene un solo elemento, in posizione 0: Per ottenere l operando destro della divisione, si tenta di accedere alla posizione 1 dell array. Tale posizione non esiste. Viene pertanto sollevata una ArrayIndexOutOfBoundsException. Tale eccezione viene intercettata nel secondo blocco catch, aggiungendo 4 a x. Pertanto al termine dell esecuzione il valore di x è 4.
5 della prova scritta del 5 febbraio Attenzione alle posizioni e alla lunghezza degli array: la lunghezza fornisce il numero di elementi; le posizioni sono numerate consecutivamente a partire da 0. Pertanto l ultima posizione è uguale alla lunghezza meno 1. Poiché gli operandi sono di tipo int, la divisione è di tipo int e dunque non produce decimali. Negli esercizi seguenti si supponga di disporre di una classe concreta di nome Alfa, che possiede un unico costruttore. Il costruttore riceve come argomento una stringa. Tra i metodi di Alfa vi è public int getnum(), che restituisce la lunghezza della stringa specificata al momento della costruzione dell oggetto. Ad esempio, il metodo getnum() di un oggetto costruito invocando new Alfa("ape") restituisce 3. Si ricordi inoltre che la classe String fornisce un metodo statico public String valueof(int i) che, ricevendo un numero intero, restituisce il riferimento a un oggetto di tipo String che rappresenta tale numero come stringa. Ad esempio, la chiamata String.valueOf(15) restituisce un riferimento a un oggetto che rappresenta la stringa di 2 caratteri "15". Esercizio 5 Considerate le seguenti classi: public class Beta extends Alfa { private static int x = 9; private int y; public Beta(String s, int u) { super(s); y = u; x = x + u; public int getnum() { return super.getnum() + y; public static int getstatico() { return x; class Prova { public static void main(string[] args) { System.out.println(Beta.getStatico()); //1 Alfa a = new Beta("leone", 6); System.out.println(a.getNum()); //2 a = new Alfa(String.valueOf(a.getNum())); System.out.println(a.getNum()); //3 System.out.println(Beta.getStatico()); //4 Scrivete l output prodotto dalle istruzioni di stampa seguite dai commenti //1... //4:
6 della prova scritta del 5 febbraio Poiché Beta estende Alfa, ogni istanza di Beta è formata da un istanza di Alfa più il campo y di tipo int. Il codice della classe specifica inoltre un campo statico x di tipo int, inizializzato al valore 9. Questo campo, essendo statico, appartiene all intera classe (e non ai singoli oggetti) e viene creato nel momento stesso in cui si utilizza la classe. Simuliamo ora l esecuzione del metodo main. La prima istruzione invoca il metodo statico getstatico della classe Beta e visualizza il risultato. Tale metodo restituisce il valore contenuto nel campo statico x di Beta, cioè 9. Pertanto, la prima istruzione visualizza 9. L istruzione successiva invoca il costruttore di Beta fornendo come argomenti la stringa "leone" e l intero 6. Il riferimento all oggetto costruito viene poi memorizzato nella variabile a di main. Simuliamo la costruzione dell oggetto. Prima di tutto, viene invocato il costruttore della superclasse Alfa fornendo come argomento la stringa ricevuta tramite il parametro s, cioè "leone". Viene poi assegnato al campo y dell oggetto costruito il valore del secondo parametro u, cioè 6, e infine, al campo statico x viene aggiunto il medesimo valore. Pertanto, dopo l esecuzione della seconda istruzione del metodo main, la memoria avrà il seguente contenuto: 1 L istruzione successiva invoca il metodo getnum, tramite il riferimento a, e visualizza il valore restituito. Poiché l oggetto riferito da a è di tipo Beta, il metodo getnum è quello definito nella classe Beta. Tale metodo: invoca il metodo getnum della superclasse (invocazione super.getnum()) somma al valore ottenuto il valore del campo y restituisce il risultato ottenuto. Il metodo getnum della superclasse Alfa restituisce, come specificato, la lunghezza della stringa fornita per costruire l oggetto, in questo caso 5. Il valore di y è 6. Pertanto, il risultato restituito da getnum, e poi visualizzato dall istruzione //2, è 11. L istruzione successiva di main invoca il costruttore della classe Alfa fornendo come argomento la stringa restituita da String.valueOf(a.getNum()). Poiché l oggetto riferito da a non è stato 1 La parte in verde rappresenta l oggetto costruito. Al suo interno c è la parte ereditata da Alfa e il campo y. Nella parte ereditata da Alfa, di cui non conosciamo l organizzazione interna, scriviamo la stringa utilizzata per la costruzione, che risulterà utile in seguito.
7 della prova scritta del 5 febbraio modificato rispetto all istruzione precedente, il risultato di a.getnum() è di nuovo 11. Quindi String.valueOf(a.getNum()) restituisce la stringa "11", che viene fornita come argomento al costruttore di Alfa. Alla variabile a viene assegnato il riferimento al nuovo oggetto (pertanto il precedente risulta irraggiungibile): L istruzione successiva visualizza il risultato dell invocazione a.getnum(). In questo caso, l oggetto riferito da a è di tipo Alfa. Pertanto viene eseguito il metodo getnum di Alfa, che restituisce la lunghezza della stringa che era stata fornita al costruttore, cioè 2. Infine, l ultima istruzione di main invoca il metodo getstatico di Beta, per visualizzare il contenuto del campo statico x, in questo caso 15. I campi statici non appartengono ai singoli oggetti, ma all intera classe. In particolare, in questo esercizio appare un unico campo statico x che appartiene alla classe Beta. Attenzione a overriding e polimorfismo! Il metodo chiamato dipende dal tipo dell oggetto e non dal tipo del riferimento utilizzato nella chiamata. Quando si esegue l istruzione //2, il tipo dell oggetto è Beta e, dunque, viene eseguito il metodo getnum di Beta. Quando si esegue, invece, l istruzione //3, il tipo dell oggetto è Alfa. In questo caso, dunque, il metodo getnum eseguito è quello di Alfa. Esercizio 6 Oltre alle classi precedenti, considerate due classi concrete Delta e Gamma, un interfaccia In, tali che: - Gamma estende Alfa, - Delta estende Gamma e implementa In. a. Per ciascuna delle seguenti affermazioni indicate se l affermazione è vera o se è falsa: 1. Ogni istanza di Beta possiede un solo campo (oltre a quelli ereditati dalla superclasse) 2. Ogni istanza di Beta possiede due campi (oltre a quelli ereditati dalla superclasse) 3. Delta deve fornire l implementazione dei metodi di In 4. Gamma deve ridefinire il metodo getnum
8 della prova scritta del 5 febbraio Gamma può ridefinire il metodo getnum 6. Se il codice sorgente della classe Gamma non contiene un costruttore allora il compilatore segnala un errore 7. Ogni istanza di Delta è anche un istanza di Alfa 8. Ogni istanza di Delta è anche un istanza di Beta 9. Delta è una sottoclasse di In 10. In è un supertipo di Delta b. Considerate le seguenti dichiarazioni di variabile: Alfa a; Beta b; Gamma g; Delta d; In i; Per ciascuno dei seguenti assegnamenti indicate se è compilato correttamente oppure no (supponete che al posto di... vi siano gli argomenti opportuni): 1. d = new Gamma(...) 2. d = i 3. g = new Delta(...) 4. i = d 5. i = (Delta) a 6. g = (Delta) i 7. d = new Delta(...) 8. b = (Beta) a 9. a = d 10. d = a Prima di tutto è opportuno disegnare la gerarchia dei tipi coinvolti nell esercizio: Alfa Beta Gamma Delta In Punto a: 1. Ogni istanza di Beta possiede un solo campo (oltre a quelli ereditati dalla superclasse). Vera. Le istanze della classe Beta contengono il campo y più la parte ereditata da Alfa. Il campo x, invece, essendo statico, appartiene all intera classe e viene creato una sola volta all inizio dell esecuzione. 2. Ogni istanza di Beta possiede due campi (oltre a quelli ereditati dalla superclasse). Falsa. Vedere punto precedente.
9 della prova scritta del 5 febbraio Delta deve fornire l implementazione dei metodi di In. Vera. Poiché Delta implementa l interfaccia In, Delta deve fornire l implementazione di tutti i metodi dichiarati in In. 4. Gamma deve ridefinire il metodo getnum. Falsa. Gamma estende Alfa, classe concreta che possiede il metodo getnum. Potrebbe ridefinirlo, come ad esempio fa Beta, ma non è tenuta a farlo. 5. Gamma può ridefinire il metodo getnum. Vera. Gamma estende Alfa e, dunque, può ridefinirne i metodi, a meno che in Alfa siano dichiarati final. Se il metodo getnum fosse dichiarato final in Alfa, nemmeno la classe Beta potrebbe ridefinirlo, come invece fa nel codice presentato nell esercizio Se il codice sorgente della classe Gamma non contiene un costruttore allora il compilatore segnala un errore. Vera. Se il codice di una classe non contiene un costruttore, allora il compilatore aggiunge automaticamente un costruttore privo di argomenti che, a sua volta, richiama il costruttore privo di argomenti della superclasse. Pertanto, se il codice sorgente della classe Gamma non contiene un costruttore, il compilatore aggiunge un costruttore che tenta di richiamare il costruttore privo di argomenti della superclasse Alfa. Tuttavia, come specificato, la classe Alfa possiede un unico costruttore (che riceve una stringa). Pertanto il compilatore segnala errore. 7. Ogni istanza di Delta è anche un istanza di Alfa. Vera. Ogni istanza di una sottoclasse è anche un istanza di ogni sua superclasse diretta o indiretta. 8. Ogni istanza di Delta è anche un istanza di Beta. Falsa. Non vi è alcuna relazione gerarchica tra Delta e Beta. 9. Delta è una sottoclasse di In. Falsa. In è un interfaccia: non ha senso parlare di sottoclasse o superclasse. A livello di tipi riferimento possiamo dire che Delta è una sottotipo di In 10. In è un supertipo di Delta. Vera. Vedere punto precedente. Punto b: 1. d = new Gamma(...) No. L espressione a destra dell assegnamento è di tipo Gamma, più ampio del tipo Delta della 2. d = i No. L espressione a destra dell assegnamento è di tipo In, più ampio del tipo Delta della 3. g = new Delta(...) Sì. L espressione a destra dell assegnamento è di tipo Delta, sottotipo del tipo Gamma della 4. i = d Sì. L espressione a destra dell assegnamento è di tipo Delta, sottotipo del tipo In della
10 della prova scritta del 5 febbraio i = (Delta) a Sì. A livello di compilazione è possibile forzare un riferimento di tipo Alfa al sottotipo Delta. L espressione a destra dell assegnamento è dunque di tipo Delta, sottotipo del tipo In della 6. g = (Delta) i Sì. A livello di compilazione è possibile forzare un riferimento di tipo In al sottotipo Delta. L espressione a destra dell assegnamento è dunque di tipo Delta, sottotipo del tipo Gamma della 7. d = new Delta(...) Sì. L espressione a destra dell assegnamento e la variabile a sinistra sono dello stesso tipo. 8. b = (Beta) a Sì. A destra dell assegnamento, il riferimento contenuto nella variabile a, di tipo Alfa, viene forzato al sottotipo Beta, che coincide con il tipo della 9. a = d Sì. L espressione a destra dell assegnamento è di tipo Delta, sottotipo del tipo Alfa della 10. d = a No. L espressione a sinistra dell assegnamento è di tipo Alfa, supertipo del tipo Delta della variabile a destra. I campi statici appartengono alle classi e non alle oggetti. Pertanto, ogni oggetto (o istanza) della classe Beta possiede un solo campo, cioè y, oltre a quelli ereditati dalla superclasse. In una classe, il costruttore privo di argomenti viene aggiunto automaticamente dal compilatore solo se non è scritto esplicitamente nessun costruttore. Il costruttore privo di argomenti aggiunto dal compilatore richiama sempre il costruttore privo di argomenti della superclasse. Se questo non è presente, il compilatore segnala un errore. Il punto b si riferisce alla compilazione e non all esecuzione. Alcuni assegnamenti (come il numero 5) che potrebbero dare problemi in esecuzione, dal punto di vista della compilazione sono leciti.
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
DettagliProgrammazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007
Cognome............................. Nome................................ Programmazione Compitino del 17 gennaio 2007 Matricola............................ NOTA: Negli esercizi 1, 2, 3, 4 fate riferimento
DettagliProgrammazione. 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
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli
Dettaglipublic double getraggio() restituisce la lunghezza del raggio del cerchio che esegue il metodo.
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 7 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40
Dettaglipublic double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40
DettagliProgrammazione. Cognome... Nome... Matricola... Compitino del 26 gennaio 2009
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 26 gennaio 2009 NOTA: Negli esercizi 1, 2, 3, 4 fate
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2014 2015 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi 10. Ereditarietà, file di testo, gerarchia delle classi e gerarchia dei tipi Esercizio 10.1 Scrivete
DettagliSoluzione del primo compitino
Corso di Programmazione Anno Accademico 2010 2011 Prof. Giovanni Pighizzini Soluzione del primo compitino Esercizio 1 Considerate le seguenti dichiarazioni di variabile: Sequenza elenco; Importo
DettagliLinguaggio C I puntatori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I puntatori 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliSoluzione del primo compitino
Corso di Programmazione Anno Accademico 2011 2012 Prof. Giovanni Pighizzini del primo compitino Esercizio 1 Completate il seguente metodo main in modo che: (a) legga due stringhe di caratteri, (b) controlli
DettagliIntroduzione alla programmazione strutturata
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio
DettagliScrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano
DettagliDal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright
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
DettagliProgramma sorgente, compilatore, file oggetto, file eseguibile. Traduzione effettuata dal compilatore. Dichiarazione di variabili (esempi)
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright alla
DettagliLinguaggio C e sistema operativo
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C e sistema operativo 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLinguaggio C Vettori e stringhe
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Vettori e stringhe 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLinguaggio C Struct e union
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struct e union 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLinguaggio C Debugging
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota
DettagliCodifica dei numeri interi positivi e negativi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica dei numeri interi positivi e negativi 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliLinguaggio C Strutture di controllo
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Strutture di controllo 2001 Pier Luca Montessoro - Davide
DettagliEsempio 2: Subtyping
Esempio 2: Subtyping 22 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti mediante l aggiunta o la ridefinizione
DettagliCodifiche Binary Coded Decimal (BCD) e Gray
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifiche Binary Coded Decimal (BCD) e Gray 28 Pier Luca Montessoro (si veda la nota di copyright
Dettagli//riferimento a una sequenza di oggetti della classe Importo
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 29 novembre 2010 Negli esercizi fate riferimento alle
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
DettagliProgrammazione a Oggetti Lezione 11. Eccezioni e Packages
Programmazione a Oggetti Lezione 11 Eccezioni e Packages Sommario Eccezioni Sollevamento Cattura Trattamento Packages e visibilità Eccezioni I programmi spesso si trovano ad operare in condizioni anomale:
DettagliCompitino del 24 novembre 2008: soluzione
Corso di Programmazione Anno Accademico 2008 2009 Prof. Giovanni Pighizzini Compitino del 24 novembre 2008: soluzione Esercizio 1 Completate il seguente metodo main in modo che legga un numero intero inserito
DettagliEsonero del corso di Programmazione a Oggetti
Esonero del corso di Programmazione a Oggetti Roma, 1 dicembre 2005 Considerate le seguenti definizioni di classi e interfacce in Java: interface Fumetto{ void esclama(); void utile(); class Personaggio
Dettagli19 - 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
DettagliProgrammazione II Compitino (Vers. B)
Programmazione II Compitino (Vers. B) 17 dicembre 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi
DettagliIntroduzione al corso
FONDAMENTI DI PROGRAMMAZIONE E ARCHITETTURA DEI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Introduzione al corso 2008 Pier Luca Montessoro (si veda la
DettagliNote sulla macchina a stack
Linguaggi e Traduttori Anno Accademico 2014 2015 Prof. Giovanni Pighizzini Note sulla macchina a stack 20 Maggio 2015 Questo documento contiene alcune note sulla macchina virtuale utilizzata per gli esempi
DettagliEsonero 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);
DettagliLe eccezioni in Java
Le eccezioni in Java G. Grossi 17 gennaio 2007 Indice 1 Le eccezioni Gerarchia eccezioni Le eccezioni Object Throwable Error Exception Controllate Non controllate RunTimeException Indice Le eccezioni 1
DettagliTecniche di compressione senza perdita
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Tecniche di compressione senza perdita 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliCorso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4
Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario
DettagliEsempi 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
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
DettagliEreditarietà. 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
DettagliArray di array. E' possibile creare strutture a matrice (2D, 3D,..., ND), esempio: double [ ][ ] entrate = new double [NANNI][NMESI];
Array di array E' possibile creare strutture a matrice (2D, 3D,..., ND), esempio: double [ ][ ] entrate = new double [NANNI][NMESI]; Per l'accesso ai dati è necessario utilizzare il doppio indice: entrate
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
DettagliControllo e correzione degli errori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Controllo e correzione degli errori 2000 Pier Luca Montessoro si veda la nota di copyright alla
DettagliEsempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo
Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e Polimorfismo 1 Esempio 1: Costruttori ed ereditarietà Costruttori ed ereditarietà 2 Introduzione Java prevede due automatismi legati
Dettagli2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2)
- Linguaggio C - Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C I file 2001 Pier Luca Montessoro - Davide Pierattoni (vedere
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
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
DettagliScopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito.
Corso di Linguaggi e Traduttori Anno Accademico 2017 2018 Prof. Giovanni Pighizzini Progetto d esame Scopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito. Variabili
DettagliArray. 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
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliArchitettura e funzionamento del calcolatore
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliGestione dei compiti
1 of 18 23/10/2006 103 Gestione dei compiti Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Domanda n. 1 Argomento: Logica booleana Domanda: Qual e' il risultato
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
DettagliUguaglianza 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
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
DettagliProgrammazione 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
DettagliA. 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),
DettagliArchitettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright
DettagliProgrammazione orientata agli oggetti Subtyping e polimorfismo. Subtyping-polimorfismo
Programmazione orientata agli oggetti Subtyping e polimorfismo 1 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti
DettagliEsempi 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
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
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
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliEsercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
DettagliProgrammazione 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
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 15 gennaio 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliLaboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 26 Gennaio 2011 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Pizzeria. La classe Tavolo ha i seguenti attributi: nome (una
DettagliProgrammazione 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
DettagliInsegnamento di Laboratorio di algoritmi e strutture dati
Insegnamento di Laboratorio di algoritmi e strutture dati Roberto Posenato ver. 0.6, 31/01/2008 1 / 25 Si comincia... 1 Esigenza... Definizione Tipi di eccezioni Sollevare eccezioni Gestire le eccezioni
DettagliProgrammazione II Compitino (Vers. B)
Programmazione II Compitino (Vers. B) 15 gennaio 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 17 dicembre 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliRETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE
RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright
DettagliCorso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array
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
DettagliProgrammazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2011
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 24 novembre 2011 Negli esercizi fate riferimento alle
Dettagli2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
Le tecnologie alla base del World Wide (II RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si
DettagliJava 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
DettagliStrumenti per la programmazione. Strumenti per la programmazione. Strumenti per la programmazione. Strumenti per la programmazione
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La zione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
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
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
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 Alcune Soluzioni ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int[][] a = new int[n][n]; for (int i
DettagliPier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
Le tecnologie alla base del World Wide RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1
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,
DettagliEccezioni predefinite
Eccezioni predefinite Java mette a disposizione molte eccezioni già confezionate, che descrivono la maggioranza dei problemi che possono verificarsi a run-time. Ognuna di queste è una classe. Tutte queste
DettagliEsercizi di Addressing. Fulvio Risso Guido Marchetto
Esercizi di Addressing Fulvio Risso Guido Marchetto 1 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali.
DettagliLa programmazione in linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati Pseudocodifica m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,
Dettagli2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) Fondamenti di Informatica.
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Le trappole del linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliProgrammazione orientata agli oggetti Subtyping e polimorfismo. Subtyping-polimorfismo
Programmazione orientata agli oggetti Subtyping e polimorfismo 1 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Codifica del video
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Codifica del video 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
DettagliPolimorfismo. Subtyping-polimorfismo
Polimorfismo 23 Polimorfismo - Esempio Definiamo la classe Persona che gestisce i dati anagrafici di una persona (nome ed età per semplicità) La classe definisce un costruttore e il metodo print che stampa
DettagliJava 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
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
DettagliProgrammazione orientata agli oggetti Subtyping e polimorfismo. Subtyping-polimorfismo
Programmazione orientata agli oggetti Subtyping e polimorfismo 1 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti
Dettagli