Un esempio di ereditarietà in JAVA
|
|
- Fabiana Elisabetta Cirillo
- 8 anni fa
- Visualizzazioni
Transcript
1 Un esempio di ereditarietà in JAVA Ecco un semplice esempio di ereditarietà e polimorfismo in Java. Una progressione numerica è una sequenza di numeri dipendenti l uno dal precedente o dai precedenti. Per esempio in una progressione aritmetica un numero si determina dai precedenti attraverso la somma. In una progressione geometrica invece un numero si determina dai precedenti attraverso la moltiplicazione. In ogni caso in una progressione c è bisogno di identificare: 1) il primo valore della progressione 2) la regola per determinare i successivi Si Inizia col definire una classe generica Progressione in cui si definiscono queste due variabili generiche: first (primo valore della progressione) e cur (valore corrente della progressione). La classe avrà anche i seguenti metodi: firstvalue() per azzerare la progressione e restituire il primo valore nextvalue() per fare avanzare la progressione di un passo e restituire il successivo valore printprogression(n) per stampare i primi n valori della progressione Ecco il codice della classe Progressione: / A class for numeric progressions. public class Progression { / First value of the progression. protected long first; / Current value of the progression. protected long cur; / Default constructor. Progression() { cur = first = 0; / Resets the progression to the first value protected long firstvalue() { cur = first; / Advances the progression to the next value of the progression return ++cur; // default next value
2 / Prints the first n values of the n number of values to print public void printprogression(int n) { System.out.print(firstValue()); for (int i = 2; i <= n; i++) System.out.print(" " + nextvalue()); System.out.println(); // ends the line Da questa classe è possibile attraverso lo schema riportato creare nuove classi per realizzare le progressioni aritmetiche, geometriche e di Fibonacci. Tutte queste nuove classi ereditano la classe Progression e ne estendono i metodi e le varibili istanza per adattarsi ai nuovi scopi.
3 Ecco i frammenti di codice delle classi seguenti: / Arithmetic progression. class ArithProgression extends Progression { / Increment. protected long inc; / Default constructor setting a unit increment. ArithProgression() { this(1); / Parametric constructor providing the increment. ArithProgression(long increment) { inc = increment; / Advances the progression by adding the increment to the next value of the progression cur += inc;
4 / Geometric Progression class GeomProgression extends Progression { / Default constructor setting base 2. GeomProgression() { this(2); / Parametric constructor providing the base base of the progression. GeomProgression(long base) { first = base; cur = first; / Advances the progression by multiplying the base with the next value of the progression cur = first;
5 / Fibonacci progression. class FibonacciProgression extends Progression { / Previous long prev; / Default constructor setting 0 and 1 as the first two values. FibonacciProgression() { this(0, 1); / Parametric constructor providing the first and second value1 value2 second FibonacciProgression(long value1, long value2) { first = value1; prev = value2 - value1; // fictitious value preceding the first / Advances the progression by adding the previous value to the next value of the progression long temp = prev; prev = cur; cur += temp;
public class Counter2 extends Counter { public void dec() { val--; }
public class Main public class Counter2 extends Counter public void dec() val--; public class Counter public Counter() System.out.println("Counter : costruttore di default!"); val = 1; System.out.println("Counter
DettagliModulo 4: Ereditarietà, interfacce e clonazione
Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo
DettagliProgrammazione a oggetti e JAVA. Prof. B.Buttarazzi A.A. 2011/2012
Programmazione a oggetti e JAVA Prof. B.Buttarazzi A.A. 2011/2012 Sommario Variabili statiche Ereditarietà multipla Le interfacce Binding Esercizi Esercizio ContoCorrente Creare una classe ContoCorrente
DettagliEsempio: Costruttori ed ereditarietà
Esempio: 1 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il costruttore di default (quello senza parametri) Se in un costruttore
DettagliEsercizi della lezione 5 di Java
Esercizi della lezione 5 di Java Esercizio 5 Create il tipo di dato Counter dell Esercizio 1 come sottoclasse del tipo di dato SimpleCounter. Esercizio 1 Create un tipo di dato Counter che abbia: un valore
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 Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliSpecifica i tipi di oggetti a creare, utilizzando un istanza prototipo, e crea nuove istanze tramite la copia di questo prototipo.
Prototype 28 4. Prototype (GoF pag. 117) 4.1. Descrizione 4.2. Esempio Specifica i tipi di oggetti a creare, utilizzando un istanza prototipo, e crea nuove istanze tramite la copia di questo prototipo.
DettagliJava:Struttura di Programma. Fabio Scanu a.s. 2014/2015
Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle
DettagliProgrammazione a Oggetti Lezione 10. Ereditarieta
Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare
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
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 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 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
DettagliOggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DettagliLivelli di astrazione
Realizzare Classi Astrazione Perdita di dettaglio Utile nella descrizione, progettazione, implementazione e utilizzo di sistemi complessi Dettagli trascurabili vengono incapsulati in sottosistemi più semplici
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
DettagliParola chiave extends
Il Linguaggio Java Ereditarietà Ereditarietà L'ereditarietà permette di creare nuove classi sulla base di classi esistenti In particolare, permette di riusare il codice (metodi e campi); aggiungere nuovi
DettagliScope e visibilità per classi
Scope e visibilità per classi Packages Classi interne nelle loro diverse forme Interne / statiche / locali Utilizzo congiunto con interfacce Implementazione di iteratori Gestione di eventi Packages Package:
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002. Soluzione degli Esercizi
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002 degli Esercizi ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int i=0, j=0; int[][] a=b; boolean trovato=false;
DettagliProssime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1
Prossime lezioni Dai TDA agli oggetti Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 18 19 gennaio
DettagliControllo degli accessi
Il linguaggio Java Il controllo degli accessi alle classi ed ai membri di una classe Controllo degli accessi Accesso alle classi Accesso alle classi package package miopackage; public public class class
DettagliLa gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
DettagliProgrammazione Java: Variabili membro, Metodi La parola chiave final
Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
DettagliEsercitazione n 4. Obiettivi
Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:
DettagliMultithreading in Java. Fondamenti di Sistemi Informativi 2014-2015
Multithreading in Java Fondamenti di Sistemi Informativi 2014-2015 Multithreading La programmazione concorrente consente di eseguire più processi o thread nello stesso momento. Nel secondo caso si parla
DettagliAlgebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliMetodologie di progetto Estensione di classi Implementazione di interfacce Composizione
Gerarchie di Tipi Metodologie di progetto Estensione di classi Implementazione di interfacce Composizione Notazione UML Relazione Simbolo Significato Ereditarietà Implementazione Aggregazione Dipendenza
DettagliAritmetica. Progetto dei programmi
Aritmetica Un approccio metodologico alla costruzione dei programmi. Tipi di dati primitivi. int, float, double Variabili, dichiarazioni e operazioni Progetto dei programmi 2 Definizione del problema Scenario
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliInformatica 3. Informatica 3. LEZIONE 12: Liste. Lezione 12 - Modulo 1. Posizione corrente. Introduzione
Informatica 3 Informatica 3 LEZIONE 12: Liste Lezione 12 - Modulo 1 Modulo 1: ADT lista e implementazione basata su array Modulo 2: Lista concatenata ADT lista e implementazione basata su array Politecnico
DettagliEreditarietà e classi astratte
Ereditarietà e classi astratte 6 Temi del capitolo 1. Il concetto di ereditarietà 2. Programmazione grafica con ereditarietà 3. Classi astratte 4. Il pattern TEMPLATE METHOD 5. Interfacce protected 6.
Dettagli!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se
DettagliLa prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete
La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication
DettagliFondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html. Outline
Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi
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
DettagliEsercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni
Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizio 1 Nella classe definita di seguito indicare quali sono le variabili di istanza, quali sono le variabili
DettagliEclipse. Avviare un progetto e compilare un semplice programma
Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice
Dettagli13. Chain of Responsibility
Chain of Responsibility 92 13. Chain of Responsibility (GoF pag. 223) 13.1. Descrizione Consente di separare il mittente di una richiesta dal destinario, in modo di consentire a più di un oggetto di gestire
DettagliEsercizio laboratorio (Java 0) Raccolto stampato nel turno successivo di laboratorio
Esercizio laboratorio (Java 0) Presentato oggi: lista semplice (senza er) Raccolto stampato nel turno successivo di laboratorio Dovrà essere indicato: cognome e nome matricola turno laboratorio tempo impiegato
DettagliPila di interi. Car 1. Car n. Pila di interi: Pila di Oggetti: Gli elementi che sono inseriti e tolti dalla pila sono numeri interi
Pila di Oggetti Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577 234850 - interno: 7102 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/
DettagliPRIMA ESERCITAZIONE IN JAVA
PRIMA ESERCITAZIONE IN JAVA Java: esercizio sulle stringhe 1. Si leggano N stringhe da riga di comando 2. Per ogni stringa si sostituiscano tutte le occorrenze di old_char con new_char (variabili inizializzate
DettagliTelematica II 17. Esercitazione/Laboratorio 6
Multitasking e Multithreading Telematica II 17. Esercitazione/Laboratorio 6 Multitasking si riferisce all abilità di un computer di eseguire processi (jobs) multipli in maniera concorrente si ricorda che
DettagliUso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012
Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono
DettagliProgrammazione in Java Parte I: Fondamenti
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice
DettagliMain System Monitor Keyboard
Composite 57 8. Composite (Gof pag. 163) 8.1. Descrizione Consente la costruzione di gerarchie di oggetti composti. Gli oggetti composti possono essere conformati da oggetti singoli, oppure da altri oggetti
DettagliUno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:
Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente
DettagliEsercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }
Java è un linguaggio di programmazione c indipendente dalla piattaforma, ovvero un linguaggio di programmazione che permette di compilare i programmi una volta sola e di installarli su computer che usano
DettagliProgrammazione ad Oggetti: JAVA. Esercitazione
Programmazione ad Oggetti: JAVA Esercitazione Docente Ing. Mariateresa Celardo mariateresa.celardo@uniroma2.it Scrivere la classe Motorino che ha i seguenti attributi colore: una stringa indicante il colore
DettagliIL TEMA DELLA RIUSABILITÀ
IL TEMA DELLA RIUSABILITÀ Si vuole riusare tutto ciò che può essere riusato (componenti, codice, astrazioni) Non è utile né opportuno modificare codice già funzionante e corretto il cui sviluppo ha richiesto
DettagliConcetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 30 maggio 2014 Introduzione Un programma diviso in sezioni distinte Un approccio alla
DettagliEsempio: il conto bancario
Ereditarietà Prof. Francesco Scarcello D.E.I.S., Università della Calabria Corso di Informatica 2 Esempio: il conto bancario public class BankAccount { public BankAccount() { balance = 0; public BankAccount(double
Dettaglisayhello public private protected return public class Greeter { public String sayhello() { String message = Hello, World! ; return message; } }
sayhello public class Greeter { public String sayhello() { String message = Hello, World! ; return message; publicprivate protected return void return; Greeter main main public class GreeterTest { public
DettagliOggi. La programmazione strutturata - III. Sequenza e selezione. Dove siamo. Iterazione: while e do/while. Raffinamenti successivi.
La programmazione strutturata - Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 6 Oggi Stefano
DettagliIntroduzione a GCC: GNU Compiler Collection
Introduzione a GCC: GNU Compiler Collection Caratteristiche di GCC Compilatore multipiattaforma modulare Disponibile per tutti i principali sistemi operativi Può produrre programmi per la maggior parte
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliEsercizio 6 Realizzare una classe astratta per le Figure piane e due sottoclassi, la sottoclasse Quadrato e la sottoclasse Rettangolo.
Esercizio 6 Realizzare una classe astratta per le Figure piane e due sottoclassi, la sottoclasse Quadrato e la sottoclasse Rettangolo. public abstract class FiguraPiana2{ private double base; public FiguraPiana2(double
DettagliSISTEMI OPERATIVI. Sincronizzazione in Java (Semafori e barriere) Patrizia Scandurra (MODULO DI INFORMATICA II) LABORATORIO
SISTEMI OPERATIVI (MODULO DI INFORMATICA II) LABORATORIO Sincronizzazione in Java (Semafori e barriere) Patrizia Scandurra Università degli Studi di Bergamo a.a. 2012-13 La gestione dei thread in Java
DettagliLe variabili. Olga Scotti
Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.
DettagliSoluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni delle prove al calcolatore Esercizio 7 (esame del 08/01/2009) class TabellaDiNumeri{ private double[][] tabella;
DettagliProgrammazione 1 A.A. 2015/2016
Cognome e Nome Matricola (se disponibile) Programmazione 1 A.A. 2015/2016 Parziale del 4 Novembre 2015 Compito n 1 Esercizio 1 (4 punti) Convertire da base 16 a base 2 il numero FA1 Convertire da base
DettagliReflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliDESIGN PATTERNS Parte 5. Facade Strategy Composite Interpreter
DESIGN PATTERNS Parte 5 Facade Strategy Composite Interpreter FACADE Per proteggere la nostra applicazione sfruttando il Protect Variation possiamo usare il pattern Facade. Questo pattern è ottimo per
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Dettagli! Riassunto. ! for. ! Cicli annidati. ! Esempi, esercizi, errori tipici. ! Programmazione strutturata. ! break e continue I1; I2; I3;
La programmazione strutturata - Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 6 Oggi Stefano Mizzaro
DettagliIntroduzione a Classi e Oggetti
Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto
DettagliParcheggio.rtf 1/8 6 gennaio 2009. Prova di programmazione: parcheggio a pagamento
Parcheggio.rtf 1/8 6 gennaio 2009 Prova di programmazione: parcheggio a pagamento Si sviluppi il codice per la gestione di un parcheggio a pagamento mediante la classe Parcheggio, che ospita le auto rappresentate
DettagliGrafico della parabola
Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un
DettagliStruttura di un programma Java
Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che
Dettagli3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
DettagliLinguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java
DettagliTest di unità con JUnit4
Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso
DettagliCOGNOME NOME MATRICOLA DATA
COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Distributore che ha i seguenti attributi marca: una stringa indicante la marca del distributore, numeropezzi un intero indicante il numero totale dei pezzi
DettagliLaboratorio di Informatica Lezione 2
Laboratorio di Informatica Lezione 2 Cristian Consonni 30 settembre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 2 1 / 42 Outline 1 Commenti e Stampa a schermo 2 Strutture di controllo 3
DettagliProgrammazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 27 Agosto 2012 Versione AA Esercizio 1 (5 punti) 1 class A{ 2 S t r i n g s ; 3 4 A( S t r i n g s ){ 5 this. s = s ; 6 System. out. p r i n t
DettagliRicorsione. Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona.
Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario Implementazione di Utilizzo ricorsione per processare dati in java vs. multipla
DettagliParadigma a oggetti. Programmazione orientata agli oggetti. Programmazione orientata agli oggetti Paradigma a oggetti 1 / 30
Paradigma a oggetti Programmazione orientata agli oggetti Programmazione orientata agli oggetti Paradigma a oggetti 1 / 30 Programmazione ad oggetti. Si estendono i tipi di dati astratti che permettono:
DettagliProgrammazione ad oggetti. Paradigma a oggetti. Esempio. Esempio L estensione del tipo di dato comporta la ridefinizione del codice
Programmazione ad oggetti. Paradigma a oggetti Programmazione orientata agli oggetti Si estendono i tipi di dati astratti che permettono: information hiding e incapsulamento nascondo la rappresentazione
DettagliR. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone
Il linguaggio Java Nato nel maggio 95 (James Gosling & al.) Orientato ad oggetti, basato sulle classi, concorrente Fortemente tipato: distinzione chiara tra errori statici ed errori dinamici Ad alto livello:
DettagliProgrammazione ad Oggetti Modulo A (Esame del 11/9/2015)
Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliEsempi in Java di program.ne O-O
Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico
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
DettagliAbstract Data Type (ADT)
Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo
DettagliProgrammazione generica
16 Programmazione generica Obiettivi del capitolo Capire gli obiettivi della programmazione generica Essere in grado di realizzare classi e metodi generici Comprendere il meccanismo di esecuzione di metodi
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliUna funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente.
Ricorsione Funzioni ricorsive Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Un esempio di funzione ricorsiva
DettagliRIUSABILITÀ L OBIETTIVO
RIUSABILITÀ Si vuole riusare tutto ciò che può essere riusato (componenti, codice, astrazioni) Non è utile né opportuno modificare codice già funzionante e corretto il cui sviluppo ha richiesto tempo (anni-uomo)
DettagliIl linguaggio C++ Ugo de Liguoro
Il linguaggio C++ Ugo de Liguoro Caratteristiche Il C++ è class based; interpreta le classi come tipi; il subtyping coincide con la (chiusura transitiva della) relazione di sottoclasse; è basato sul C
DettagliLaboratorio di Sistemi Polimorfismo Java. Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java.
Prerequisiti: per la comprensione dell'articolo è necessario conoscere il concetto di Ereditarietà in Java. Di solito se abbiamo la struttura di una classe con gli attributi e i metodi possiamo istanziare
Dettagli3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde?
Leggete attentamente le domande del test e date la/le vostra/e risposta/e. 1) Per quanto tempo la memoria RAM di un personal computer conserva le informazioni? Finchè lo hard disk funziona in modo corretto
DettagliLa concorrenza in Java package java.util.concurrent Antonio Furone
La concorrenza in Java package java.util.concurrent Antonio Furone Coda Bloccante La classe LinkedTransferQueue è stata esplicitamente disegnata per dare supporto a problemi di tipo produttore/consumatore.
DettagliClassi astratte Interfacce
Classi astratte Interfacce Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni 1 Ereditarietà Abbiamo visto come L ereditarietà permette di costruire nuove classi utilizzando
Dettagli