Il metodo clone. clone e Object. Restrizione su clone. Definizione di clone. Il metodo clone serve per copiare gli oggetti
|
|
- Agostino Rocca
- 6 anni fa
- Visualizzazioni
Transcript
1 Il metodo clone Il metodo clone serve per copare gl oggett S può nvocare su quas tutt gl oggett delle class predente publc statc vod man(strng args[]) { p, q; p=new (2,3); q=() p.clone(); Perchè l cast? Po vedamo clone e Object È un metodo d Object È dento protected Qund: s può usare solo: nello stesso package d Object (che è java.lang) nelle class dervate Restrzone su clone Il clone d Object non s può usare nelle nostre class: class CloneObject { publc statc vod man(strng args[]) { Object o=new Object(); Object s; s=o.clone(); Vene dato questo errore n complazone: clone() has protected access Denzone d clone Nella classe Object, è dento n questo modo: protected Object clone() Qund: 1
2 1. rtorna un Object 2. è protected Come clonare oggett predent Non tutt gl oggett sono clonabl: Strng a, b; a=new Strng("abcd"); b=(strng) a.clone(); // errore Per gl oggett clonabl: l metodo rtorna un Object, qund va atto l cast: p, q; p=new (2,3); q=() p.clone(); Denre l metodo clone Prendamo la classe Studente e denamo clone class Studente { Strng nome; nt anno; Clonazone: prmo tentatvo Faccamo overloadng class Studente { Strng nome; nt anno; // errore logco Studente clone() { Non va bene: clone deve are overloadng del metodo d Object Clonazone: secondo tentatvo Come per equals, l metodo deve avere esattamente la stessa ntestazone del metodo d Object: 2
3 class Studente { Strng nome; nt anno; Object clone() { Non unzona nemmeno cosí: clone() n Studente cannot overrde clone() n java.lang.object; attemptng to assgn weaker access prvleges; was protected A parole: s possono allargare drtt, ma non restrngere Va dcharato protected oppure publc Clonazone: terzo tentatvo Lo dcharamo publc (s poteva anche dcharare protected, se servva): class Studente { Strng nome; nt anno; publc Object clone() { Ora unzona: scrvamo l corpo Clonazone: terzo tentatvo Il codce completo è: class Studente { Strng nome; nt anno; publc Object clone() { // non del tutto corretto Studente s=new Studente(); s.nome=ths.nome; s.anno=ths.anno; return s; Va bene per clonare oggett Studente 3
4 Non va tanto bene se Studente ha sottoclass clone e equals per sottoclass Supponamo che Studente abba sottoclass (Non è una cosa nsolta che una classe abba sottoclass) Scrvamo metod equals e clone come detto prma n ognuna d queste 11 class Ora, Studente vene modcato con l aggunta d una campo cod_scale Vanno modcate tutte e 11 le class Non solo: altr programmator potrebbero aver realzzato altre sottoclass senza che o me ne accorga; n queste sottoclass, equals e clone non unzonano Eredtaretà Sa per equals che per clone In una classe dervata, è opportuno denre equals e clone n termn della loro denzone nella sovraclasse: class Borssta extends Studente { nt stpendo; publc Strng tostrng() { return "["+ths.nome+","+ths.anno+","+ths.stpendo+"]"; publc boolean equals(object o) { Borssta b; (!super.equals(o)) b=(borssta) o; (ths.stpendo!=b.stpendo) return true; super.equals a la parte de controll relatv alle component eredtate In questo modo, se s modca Studente, non vanno modcate le sottoclass 4
5 Clonazone n class dervate Facco la stessa cosa: class Borssta extends Studente { nt stpendo; publc Object clone() { Borssta b=(borssta) super.clone(); b.stpendo=ths.stpendo; return b; Qu abbamo un problema Eredtare clone publc statc vod man(strng args[]) { Borssta s=new Borssta(); Borssta q; q=(borssta) s.clone(); In esecuzone vene dato questo errore: Excepton n thread "man" java.lang.classcastexcepton at Borssta.clone(Borssta.java:23) at ProvaBorssta.man(ProvaBorssta.java:6) La radce del problema Facendo super.clone() nella classe Borssta, vene nvocato l metodo clone d Studente In Studente, l metodo clone è dento come un metodo che crea un oggetto Studente Il cast a Borsta allsce Eredtare clone da Object Il metodo standard d clonazone è questo: ogn oggetto nvoca l clone della sovraclasse Il clone d Object a la creazone del nuovo oggetto e c copa le component del veccho Il clone d Object crea un oggetto della stessa classe d quello d partenza, non (necessaramente) un oggetto Object
6 Invocare clone d Object La versone complessva è complcata Il concetto d base (che non unzona) è che ogn clone nvoca l clone della sovraclasse class Studente { // ancora non unzona publc Object clone() { return super.clone(); Lo stesso vale per class dervate: class Borssta extends Studente { // ancora non unzona publc Object clone() { return super.clone(); CloneNotSupportedExcepton I metod clone scrtt sopra non unzonano: Studente.java:3: unreported excepton java.lang.clonenotsupportedexcepton; must be caught or declared to be thrown return super.clone(); Questo è dovuto al modo n cu è realzzato l metodo clone d Object Metodo clone d Object Il metodo clone d Object è dento n questo modo: se l oggetto appartene a una classe che non mplementa l nteracca Cloneable, lanca una eccezone CloneNotSupportedExcepton altrment, a una copa esatta dell oggetto Questo ha due conseguenze: Nota: occorre are try-catch dell eccezone la classe deve mplementare l nteracca Cloneable non are try-catch produce un errore n complazone (l metodo super.clone() dchara d lancare un eccezone che però non vene catturata) non mplementare l nteracca produce un errore n esecuzone (perchè super.clone() n questo caso lanca una eccezone) 6
7 Notare che l prmo errore è sntattco: se un metodo dchara (con throw) d poter lancare una eccezone, questa va rlancata o catturata Che po l metodo lanc eettvamente l eccezone o no, n ase d complazone non è vercable Cloneable: motvazone Perchè tutte queste complcazon? Soluzon alternatve: l nteracca Cloneable contene clone mentre Object no la clone d Object a la copa e basta Problem delle due soluzon: ogn classe deve are la creazone del nuovo oggetto e la copatura (dato che una nteracca può solo contenere l ntestazone d un metodo, l metodo va po realzzato completamente nella classe) la clonazone non ha senso per tutt gl oggett Clonazone usando clone d Object class Studente mplements Cloneable { publc Object clone() { try { return super.clone(); catch(clonenotsupportedexcepton e) { return null; la classe deve mplementare Cloneable dato che clone d Object ha throws CloneNotSupportedExcepton, va catturata Clonazone n class dervate Se Borssta estende Studente: class Borssta extends Studente { publc Object clone() { return super.clone(); 7
8 Comment: non serve mplements Cloneable dato che Studente mplementa l nteracca Cloneable, anche Borssta la mplementa automatcamente n modo ndretto non serve catturare l eccezone vene gà atto nel clone d Studente Ch clona l oggetto? Quando s nvoca clone d Borssta: 1. vene nvocato clone d Studente 2. che nvoca clone d Object È sempre clone d Object che a la copa! Copa supercale e proonda Se un oggetto contene altr rerment a oggett: copa supercale vene copato solo l oggetto copa proonda vene copato l oggetto e tutt quell collegat Esempo Classe mport java.awt.*; class {, ; Cosa c s aspetta Conronto/clonazone supercale: 8
9 a b 2 Gl oggett sono esattamente gl stess Conronto/clonazone proonda: a b 2 2 Gl oggett non sono gl stess, ma hanno gl stess valor dentro 9
10 Uguaglanza supercale S conrontano rerment degl oggett Due oggett sono equals se loro comp sono esattamente ugual (contengono rerment agl stess dentc oggett mport java.awt.*; class {, ; // equals supercale publc boolean equals(object o) { (o==null) (ths.getclass()!=o.getclass()) s=() o; return((ths.==s.)&&(ths.==s.)); Conronto proondo Gl oggett vengono conrontat n base a loro valor, non a loro rerment: mport java.awt.*; class {, ; publc boolean equals(object o) { (o==null) (ths.getclass()!=o.getclass()) s=() o; (ths.==null) { (s.!=null) else (!ths..equals(s.)) (ths.==null) { (s.!=null) else (!ths..equals(s.))
11 return true; Copa supercale clone d Object a la copa del solo oggetto mport java.awt.*; class mplements Cloneable {, ; publc Object clone() { try { return super.clone(); catch(clonenotsupportedexcepton e) { return null; Prma della copa: a b 2 Dopo la copa supercale: 11
12 a b 2 Copa proonda Ha senso rchedere una copa anche de due oggett a b
13 Questo non vene atto da clone d Object Va atto manualmente: Copa proonda: realzzazone Occorre nvocare clone su ognuno degl oggett d cu voglo are la copa Notare che super.clone ha tpo d rtorno Object Per poter accedere alle component, devo are l cast Lo stesso vale per le component mport java.awt.*; class {, ; publc Object clone() { try { s; s=() super.clone(); s.=() ths..clone(); s.=() ths..clone(); return s; catch(clonenotsupportedexcepton e) { return null; 13
Programmazione 2 - Marco Ronchetti. Fondamenti di Java. Fac.Scienze Università di Trento. Static
1 Fondamenti di Java Static 2 Modificatori: static Variabili e metodi associati ad una Classe anziche ad un Oggetto sono definiti static. Le variabili statiche servono come singola variabile condivisa
CloneNotSupportedException clone() Object clone() protected native Object clone() throws CloneNotSupportedException this
Clonazione Importante esempio di eccezione controllata è CloneNotSupportedException che può essere lanciata dal metodo nativo clone() della classe Object. La dichiarazione di clone() è la seguente: protected
Uguaglianza e copia di oggetti
Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La
Laboratorio di Matematica e Informatica 1
Laboratoro d Matematca e Informatca 1 Matteo Mondn Antono E. Porreca matteo.mondn@gmal.com porreca@dsco.unmb.t Dpartmento d Informatca, Sstemstca e Comuncazone Unverstà degl Stud d Mlano - Bcocca 10 Gennao
Errata corrige del libro Fondamenti di Informatica in Java
corrge del lbro Fondament d Informatca n Java Emlo D Gacomo, Walter Ddmo Captolo 1 R1 R2 R3 Rn PC IR PSW Untà d controllo Pag. 23, Fgura 1.2 Bus nterno ALU MAR MDR al bus dat al bus ndrzz al bus d controllo
Esercitazione. Docente Ing. Mariateresa Celardo
Esercitazione Docente Ing. Mariateresa Celardo mariateresa.celardo@uniroma2.it Scrivere la classe Motorino che ha i seguenti attributi colore: una stringa indicante il colore del motorino, velocità: un
I costruttori. Il costruttore standard. Esempio di valori di default. Alterare il costruttore standard
I costruttori Servono a inizializzare i valori dei campi degli oggetti. Vengono invocati automaticamente dopo che l oggetto è stato creato. Il costruttore standard Questo tipo di costruzione mette dei
Il linguaggio Java. La superclasse universale Object
Il linguaggio Java La superclasse universale Object La classe Object La classe Object è la superclasse, diretta o indiretta, di ogni classe La classe Object definisce lo stato ed il comportamento base
Algebra 2. 6 4. Sia A un anello commutativo. Si ricorda che in un anello commutativo vale il teorema binomiale, cioè. (a + b) n = a i b n i i.
Testo Fac-smle 2 Durata prova: 2 ore 8 1. Un gruppo G s dce semplce se suo unc sottogrupp normal sono 1 e G stesso. Sa G un gruppo d ordne pq con p e q numer prm tal che p < q. (a) Il gruppo G può essere
Esercizio. Alcuni esercizi su algoritmi e programmazione. Schema a blocchi. Calcolo massimo, minimo e media
Alcun esercz su algortm e programmazone Fondament d Informatca A Ingegnera Gestonale Unverstà degl Stud d Bresca Docente: Prof. Alfonso Gerevn Scrvere l algortmo e l dagramma d flusso per l seguente problema:
C++ Copy Constructor
C++ Copy Constructor Versione 1 #include using namespace std; class Line{ public: Line( int len ); ~Line(); ; // simple constructor // destructor Member functions definitions Line::Line(int
GESTIONE 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
Esercitazione 2. Java:
Esercitazione 2 Java: Eccezioni @andreamocci Casi Eccezionali (1) /* * Produce un numero complesso a partire dalla sua forma polare */ public static Complex frompolarform(double abs, double phase) { /*
GESTIONE 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
Sezione: Upcast - downcast
1 Sezione: Upcast - downcast Upcast & downcast 2 public class Test { public static void main(string a[]) { new Test(); Test() { A a; cast B b = new B(); OK: upcast implicito a=b; NO: "method f2 not found
Il Linguaggio Java. La superclasse universale Object
Il Linguaggio Java La superclasse universale Object La classe Object La classe Object è la superclasse, diretta o indiretta, di ogni oggetto inclusi gli array La classe Object definisce lo stato ed il
Uguaglianza e Identità. (no, non avete sbagliato corso )
1 Uguaglianza e Identità (no, non avete sbagliato corso ) Fondamenti di Java Che vuol dire "uguaglianza"? Che vuol dire "Identità"? Che differenza c è? Uguaglianza public class Test { public static void
z class z costruttore, new z this z GRWQRWDWLRQ (C.m(), x.m()) z extends z Insieme di classi e interfacce z Namespace z Struttura gerarchica
3DFNDJHMDYDGRF LQWURGX]LRQHDOOH$3, Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/~mizzaro mizzaro@dimi.uniud.it 5 maggio 2003 z class Riassunto:
Gestire le eccezioni. Lezione XI
Gestire le eccezioni Lezione XI Scopo della lezione Studiare il meccanismo di gestione delle eccezioni Implementare nuove eccezioni IX-B.2 Tipi di errori Errori rilevati in fase di compilazione: errori
Esercizio. Alcuni esercizi su algoritmi e programmazione. Schema a blocchi. Calcolo massimo, minimo e media
Alcun esercz su algortm e programmazone Fondament d Informatca A Ingegnera Gestonale Unverstà degl Stud d Bresca Docente: Prof. Alfonso Gerevn Scrvere l algortmo e l dagramma d flusso per l seguente problema:
Scrivere programmi corretti
Scrvere programm corrett L esempo della rcerca bnara o dcotomca J. Bentley, Programmng Pearls, Addson Welsey. 1 Schema processo produzone funzone teratva Algortmo n pseudo-codce Indvduazone nvarante Codfca
Programmazione 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
Esercizio: Costruite una Coda analoga alla Pila
1 Esercizio: Costruite una Coda analoga alla Pila 1 2 Pila e Coda IN OUT CODA IN OUT PILA 3 Trasformare la Pila in Coda int estrai() { assert(marker>0):"invalid marker"; int retval=contenuto[0]; for (int
Programmazione ad Oggetti. Java Parte II
Programmazione ad Oggetti Java Parte II Overview Caratteristiche lessicali Il primo programma Java 1 Commenti /* Commento tradizionale, eventualmente su più linee, non nidificato */ // Commento su di una
Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli
19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
Ereditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction...
Ereditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction
La classe Object. L2-Linguaggi di Programmazione II-unina 1
La classe Object L2-Linguaggi di Programmazione II-unina 1 JAVA è dotata di una classe speciale, una classe cosmica, denominata Object Qualsiasi altra classe deriva da Object Object Una variabile di tipo
Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1
Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò
se invoco un metodo di Object che è ridefinito in Point, viene invocato il metodo definito in Point
Gli HashSet Tipo predefinito che rappresenta insiemi di Object Cosa succede se... Posso mettere un riferimento a un Point in una variabile Object Object o=new Point(12,3); è quasi tutto come se l oggetto
LE FREQUENZE CUMULATE
LE FREQUENZE CUMULATE Dott.ssa P. Vcard Introducamo questo argomento con l seguente Esempo: consderamo la seguente dstrbuzone d un campone d 70 sttut d credto numero flal present nel terrtoro del comune
Fondamenti di Informatica I
Sapienza Università di Roma, Facoltà di Ingegneria Corso di Fondamenti di Informatica I Canale 1 (A-K) Anno Accademico 2009-2010 Corso di Laurea in Ingegneria Informatica Docente: Camil Demetrescu Esercitatore:
Le eccezioni in Java
Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che
Metodi ad un passo espliciti con passo adattivo Metodi Runge - Kutta
Metod ad un passo esplct con passo adattvo Metod Runge - Kutta Scrvere un programma che approssm l problema d Cauchy: u (t) = f(t, u), t 0 t T, u R d, u(t 0 ) = v per un sstema d equazon dfferenzal ordnare
Diagramma delle classi UML. Diagramma e specifica degli use case. Specifica delel classi del diagramma
Università di Roma La Sapienza, Facoltà di Ingegneria Diagramma delle classi UML Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Giuseppe De Giacomo e Monica Scannapieco, A.A. 2003-04 SOLUZIONE ESAME
Overloading - Overriding
1 Overloading - Overriding Overloading: Funzioni con uguale nome e diversa firma possono coesistere. move(int dx, int dy) move(int dx, int dy, int dz) Overriding: Ridefinizione di una funzione in una sottoclasse
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Clonazione e Serializzazione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative
Eccezioni 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
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato
Programmazione Concorrente e Distribuita
Programmazione Concorrente e Distribuita Esame scritto del 22 Marzo 2012 Versione K Esercizio 1 (5 punti) Si consideri il codice seguente. 1 public c l a s s Redwood extends Tree { 2 public s t a t i c
Introduzione al calcolo numerico. Derivazione Integrazione Soluzione di equazioni
Introduzone al calcolo numerco Dervazone Integrazone Soluzone d equazon Dervazone numerca Il calcolo della dervata d una unzone n un punto mplca un processo al lmte ce può solo essere approssmato da un
Elementi di calcolo numerico
Element d calcolo numerco Molto sesso nel calcolo scentco sorge la necesstà d calcolare l valore numerco d ntegral che non ossono essere calcolat analtcamente oure occorre calcolare l valore del mnmo d
Concetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica Introduzione Ereditarietà in Sintesi È uno dei concetti chiave della programmazione orientata agli
Introduzione al Java Collections Framework. Progettazione del Software Anno Accademico Interfacce del Collections Framework
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Anno Accademico 2003-2004 Corso di Laurea in Ingegneria Gestionale Prof. Giuseppe De Giacomo & Prof. Monica Scannapieco
Classi Wrapper. int Integer float Float char Char byte Byte double Double. classe "wrapper"
1 Classi Wrapper classe "wrapper" int Integer float Float char Char byte Byte double Double Generano oggetti che hanno come variabile di istanza un tipo di dato primitivo con nome uguale Integer int Float
Progettazione del Software Anno Accademico
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Anno Accademico 2003-2004 Corso di Laurea in Ingegneria Gestionale Prof. Giuseppe De Giacomo & Prof. Monica Scannapieco
Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa lezione 14: 18 aprile 2012
Dpartmento d Statstca Unverstà d Bologna Matematca Fnanzara aa 2011-2012 lezone 14: 18 aprle 2012 professor Danele Rtell www.unbo.t/docent/danele.rtell 1/19? Schema algebrco de fluss d cassa con v = (1
Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Eccezioni L esistenza di
La classe Object. Ce li ha anche HelloWorld!!!
La classe Object Ogni classe estende implicitamente la classe java.lang.object La classe java.lang.object contiene dei metodi che vengono implicitamente ereditati I metodi ereditati sono: clone equals
Esercitazione di lunedì - TUTTE LE MATRICOLE -
1 Esercitazione di lunedì - TUTTE LE MATRICOLE - 2 Pre-esercitazione - Prova a fare il primo esercizio guidato in modo da riprendere le fila del discorso fatto a lezione su come strutturare un progetto.
Java: tipi (im)mutaibili. Metodi equals e clone
Java: tipi (im)mutaibili. Metodi equals e clone Mutabilità Un tipo è mutabile (mutable) se ha dei metodi che possono modificare ilrep, altrimenti è detto immutabile (immutable). della classe! Il metodo
Le eccezioni in Java
Eccezioni 1 Le eccezioni in Java i tipi di eccezione sono particolari classi che contengono solo il costruttore ci possono essere più costruttori overloaded sono definite in moduli separati da quelli che
Propagazione degli errori
Propagaone degl error Voglamo rcavare le ncertee nelle msure ndrette. Abbamo gà vsto leone un prma stma degl error sulle grandee dervate valda n generale. Consderamo ora l caso specco d grandee aette da
Corso di Progettazione del Software
T. Mancini & M. Scannapieco S.JOO.5 Java: copia profonda February 2, 2008 p. 1/22 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione
Eccezioni. Programmazione in rete e laboratorio Eccezioni. Classi eccezioni
Programmazione in rete e laboratorio 2004-05 Alberto Martelli Eccezioni Eccezioni Eccezioni: meccanismo per trattare condizioni eccezionali - divisione per zero - indice di array fuori dai limiti - errori
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
Specifica, progetto e verifica della correttezza di algoritmi iterativi. Ragionamenti su di un algoritmo. Il metodo delle asserzioni (Floyd)
Specfca, progetto e verfca della correttezza d algortm teratv Il metodo delle asserzon Ragonament su d un algortmo Ragonare sulla specfca d un algortmo data con pre e post-condzon serve a: (a posteror)
RETI 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
Programmazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
Progettazione del Software
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Corso di Laurea in Ingegneria Gestionale Prof. Toni Mancini & Prof. Monica Scannapieco AUTOV.Java.4 Nozioni Preliminari
Esercizio: Lista Circolare
Esercizio: Lista Circolare Si realizzi in Java un gestore di una lista circolare. La dimensione minima della lista è 2 elementi (ed è anche la dimensione iniziale). La dimensione massima è 20 elementi.
Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
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
Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1
Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò
Progettazione del Software
Progettazione del Software Programmazione in Java (3) Le eccezioni Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di R o m a Anno
Diagramma delle classi UML
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo, A.A. 2002-03 SOLUZIONE ESAME DEL 11/07/2003 Roma, 11 luglio 2003 1
Linguaggio C. funzioni e procedure. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Lnguaggo C funzon e procedure Unverstà degl Stud d Bresca Docente: Massmlano Gacomn Un esempo Acqusre dall utente un numero ntero n, rpetendo l acquszone se è prmo. Successvamente, stampare 5 numer prm
Architettura degli Elaboratori
Archtettura degl Elaborator - 1 Unverstà degl Stud d Padova Facoltà d Scenze MM.FF.NN. Corso d Laurea Trennale n Informatca docente: Alessandro Sperdut Informazon General Lucd ed esercz dsponbl n formato
E' un meccanismo per estendere classi esistenti, aggiungendo altri metodi e campi.
Ereditarietà Ereditarietà E' un meccanismo per estendere classi esistenti, aggiungendo altri metodi e campi. class SavingsAccount extends BankAccount nuovi metodi nuove vbl istanza Tutti i metodi e le
Soluzioni 3.1. n(n 1) (n k + 1) z n k! k + 1 n k. lim k
(1) La sere bnomale è B n (z) = k=0 Con l metodo del rapporto s ottene R = lm k Soluzon 3.1 n(n 1) (n k + 1) z n k! c k c k+1 = lm k k + 1 n k lm k c k z k. k=0 1 + 1 k 1 n k = 1 (2) La multfunzone f(z)
Le 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
Parte I Java. Metodologie di Programmaziona Secondo Appello, 14/2/2006 1
Metodologie di Programmaziona 05 06 Secondo Appello, 14/2/2006 1 Parte I Java Considerate le seguenti definizioni di classe. class T { class S extends T { class A { public void print(string s) { System.out.println(s);
Diagramma delle classi UML
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Giuseppe De Giacomo e Monica Scannapieco, A.A. 2003-04 SOLUZIONE ESAME DEL 11/07/2003 Roma, 9
Allora v = v2 =
Problema: a partre da due sequenze ordnate v1 e v2 d element voglamo costrurne una ordnata v con tutt gl element d v1 e v2 Algortmo rcorsvo: Se le due sequenze contengono element confronta prm due element
SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza, Facoltà di Ingegneria
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Ing. Informatica) Proff. Marco Cadoli e Maurizio Lenzerini, Canali A-L & M-Z A.A. 2003-04 Compito d esame del
Gestione delle eccezioni
Gestione delle eccezioni Raffaella Brighi, a.a. 2007/08 Ereditarietà Corso di Algoritmi e programmazione. A.A. 2007-08 CdL Operatore Informatico Giuridico. Casi di insuccesso Vi sono numerosi problemi
Inizializzare oggetti
Inizializzare oggetti Uso della Classe Software per TLC - AA 2008/2009 1 Costruttori e polimorfismo Uso della Classe Un codice migliore Software per TLC - AA 2008/2009 2 Costruttori ed Ereditarietà Output:
Dipartimento di Statistica Università di Bologna. Matematica finanziaria aa lezione 9: 3 marzo 2014
Dpartmento d Statstca Unverstà d Bologna Matematca fnanzara aa 2013-2014 lezone 9: 3 marzo 2014 professor Danele Rtell www.unbo.t/docent/danele.rtell 1/25? Eserczo Consderamo una rendta perodca d 2n termn
S O L U Z I O N I. 1. Effettua uno studio qualitativo della funzione. con particolare riferimento ai seguenti aspetti:
S O L U Z I O N I 1 Effettua uno studo qualtatvo della funzone con partcolare rfermento a seguent aspett: f ( ) ln( ) a) trova l domno della funzone b) ndca qual sono gl ntervall n cu f() rsulta postva
Corso di. Gasdinamica II Tommaso Astarita
Corso d Gasdnamca II Tommaso Astarta astarta@unna.t www.docent.unna.t Gasdnamca II Tommaso Astarta 5.0.008 Metodo d Eulero S supponga d avere una equazone dfferenzale del prmo ordne: f ( x, ) x xo o Defnendo
Programmazione 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:
Polimorfismo parametrico vs polimorfismo per inclusione
Polimorfismo parametrico vs polimorfismo per inclusione Esercizio Definire il tipo di dato Stack con operazioni Push( element ) Pop() Non forzare una specifica implementazione Non forzare un tipo specifico
Geometria 1 a.a. 2011/12 Esonero del 23/01/12 Soluzioni (Compito A) sì determinarla, altrimenti dimostrare che ciò è impossibile.
Geometra 1 a.a. 2011/12 Esonero del 23/01/12 Soluzon (Compto A) (1) S consder su C 2 l prodotto Hermtano, H assocato alla matrce ( ) 2 H =. 2 (a) Dmostrare che, H è defnto postvo e determnare una base
Nota: questo discorso vale solo per i metodi e le componenti che esistono in tutte e due le classi
Liste Esistono dei tipi predefiniti in Java per liste e insiemi Breve riepilogo Variabili: 1. ogni oggetto si può mettere in Object 2. per il passo inverso, serve il cast Quando la variabile è di un tipo
Determinazione del tipo
1 Determinazione del tipo Point NamedPoint public static void main(string a[]){ Point p; // leggi k if (k==1) p=new Point(2,2); else p=new NamedPoint(3,3, A ); // p.getname(); SBAGLIATO! if (p instanceof
Programmazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it. Sommario 2 2» Struttura
PROCEDURA INFORMATIZZATA PER LA COMPENSAZIONE DELLE RETI DI LIVELLAZIONE. (Metodo delle Osservazioni Indirette) - 1 -
PROCEDURA INFORMATIZZATA PER LA COMPENSAZIONE DELLE RETI DI LIVELLAZIONE (Metodo delle Osservazon Indrette) - - SPECIFICHE DI CALCOLO Procedura software per la compensazone d una rete d lvellazone collegata
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
Gestione delle eccezioni in Java
Gestione delle eccezioni in Java - Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista che il flusso di un applicazione può incontrare. È possibile gestire
Progettazione del Software
Progettazione del Software Programmazione in Java (4) Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico 2015/2016
Fondamenti di Informatica L-B Esercitazione n 5 Java: Interfaccia Comparable, Array
Fondamenti di Informatica L-B Esercitazione n 5 Java: Interfaccia Comparable, Array A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Interfaccia Comparable L altra volta abbiamo
COGNOME NOME MATRICOLA DATA
COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Automobile che ha i seguenti attributi colore: una stringa indicante il colore dell automobile, velocità: un numero con la virgola indicante la velocità
Gestione delle Eccezioni
Gestione delle Eccezioni Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni 1 Introduzione al concetto di eccezioni E possibile definire un eccezione come un situazione imprevista
UML: Aggregazione. class A { int s; public void sets(int){ }; public int gets() { }; class B {A ob; public void usea() { }; }
UML: Aggregazione class A { int s; public void sets(int){ ; public int gets() { ; class B {A ob; public void usea() { ; Aggregation - Composition Use aggregation (has-a) when the lifecycle of the partecipating
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
Corso di Progettazione del Software
T. Mancini & M. Scannapieco S.JOO.3 Java: le classi Object e Class February 2, 2008 p. 1/12 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso
Bank account. private double balance; 11/2/2011
Il Linguaggio Java Ereditarietà Bank account class BankAccount { public BankAccount() { balance = 0; } public void deposit(double amount) { balance += amount; } public void withdraw(double amount) { balance
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 settembre Attenzione:
Cognome.. Nome.... Archtettura degl Elaborator Classe 3 Prof.ssa Anselmo Appello del 22 settembre 2017 Attenzone: Inserre propr dat nell apposto spazo sottostante e n testa a questa pagna. Preparare un
Corso Linguaggi di programmazione II - Unina Esercitazione (prova intercorso)
1) Si considerino le classi Java: Corso Linguaggi di programmazione II - Unina Esercitazione (prova intercorso) class Card Card (String seed, int value) this.seed=seed; this.value=value; String seed; int