Riassunto. La programmazione OO. Oggi. Esempio
|
|
|
- Bianca Colucci
- 8 anni fa
- Просмотров:
Транскрипт
1 Riassunto La programmazione OO Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine [email protected] Programmazione, lezione novembre 2006 Mattoni (cap 2) Sequenza, Selezione, Iterazione (3) rray (4) Sottoprogrammi, metodi (5) Ricorsione (6) TD (7) OO = TD + scambio msg + eredità + polimorfismo TD -> OO, Scambio messaggi (8) Stefano Mizzaro - OO 2 Oggi Esempio Ereditarietà Polimorfismo Esempio Punto, Cerchio (e Quadrato) con approccio OO Vediamo il codice Provare a eseguirlo, modificarlo, ecc. Ragionare su classi, istanze, stack, heap Stefano Mizzaro - OO 3 Stefano Mizzaro - OO 4 Punto.java (OO) class Punto { private double x; private double y; public Punto() {this(0,0); public Punto(double x, double y) { this.x = x; this.y = y; public void set(double x, double y) { this.x = x; this.y = y; public void setx(double x) { this.x = x; public void sety(double y) { this.y = y; public double getx() { return x; public double gety() { return y; return "(" + x + ", " + y + ")"; Stefano Mizzaro - OO 5 Cerchio.java (OO) class Cerchio { private Punto centro; private double raggio; public Cerchio() {this(new Punto(),0); public Cerchio(double x, double y, double r) { this(new Punto(x,y),r); public Cerchio(Punto c, double r) { centro = c; raggio = r; public void setcentro(punto c) {centro = c; public void setraggio(double r) {raggio = r; public Punto getcentro() {return centro; public double getraggio() {return raggio; return "cerchio: centro " + getcentro() + " raggio " + getraggio(); Stefano Mizzaro - OO 6 Stefano Mizzaro 1
2 Grafica.java (OO) class Grafica { public static void main (String[] args) { Punto p1 = new Punto(); Punto p2 = new Punto(1,1); Cerchio c1 = new Cerchio(); System.out.println(c1); Cerchio c2 = new Cerchio(p1,0); System.out.println(c2); p2.set(1.2,3.3); c1.setcentro(new Punto(12,12)); System.out.println(c1); System.out.println(c1.getCentro()); System.out.println((c1.getCentro()).getX()); Cerchio c3 = new Cerchio(p2,1); System.out.println(c3); Stefano Mizzaro - OO 7 Scaletta Esempio Ereditarietà Polimorfismo Stefano Mizzaro - OO 8 Terzo ingrediente: ereditarietà La classe Persona e la classe Studente Persona + () Studente - matricola : int + () + getmatricola() + setmatricola() Stefano Mizzaro - OO 9 Un problema Duplicazione di codice Fatica inutile Pericolo di incoerenze Soluzione: ereditare Studente eredita da Persona attributi e metodi (e ne aggiunge, sovrascrive, ) Stefano Mizzaro - OO 10 Persona e Studente Persona + () Studenti e Lavoratore Persona + () Studente - matricola : int Persone Lavoratore - stipendio : int Studente - matricola : int + getmatricola() : int + setmatricola() : void + setstipendio() : void + getstipendio() : int + getmatricola() : int + setmatricola() : void Stefano Mizzaro - OO 11 Stefano Mizzaro - OO 12 Stefano Mizzaro 2
3 Ereditarietà in Java Parola riservata extends class Studente extends Persona { e Studente ha metodi e attributi di Persona N.. Ereditarietà troppo enfatizzata La classe Persona class Persona { private String nome; private String cognome; private Data nascita; public void setnome(string nome) { public String getnome() { public void setnascita( ) { public int eta() { una classe come un altra Stefano Mizzaro - OO 13 Stefano Mizzaro - OO 14 La classe Studente class Studente extends Persona { private int matricola; public int getmatricola() { public void setmatricola( ) { Oltre a quello che c è in Studente, anche quello che c è in Persona ma ciò che è privato in Persona non è visibile in Studente Stefano Mizzaro - OO 15 Uso Persona p1 = new Persona( ); Studente s2 = new Studente( ); p1.setnome("gino"); s2.setmatricola(1234); s2.setnascita setnascita( ( ); System.out.println(p1.getNome()); System.out.println(s2. s2.eta() ()); Uno studente è una persona (!) Una persona potrebbe non essere uno studente Stefano Mizzaro - OO 16 Quindi, l ereditarietà Consente a una classe di ereditare da altre classi, evitando duplicazione di codice Consente di vedere un istanza di una sottoclasse come se fosse un istanza della sopraclasse Vedo uno studente come se fosse una persona (!) extends in Java Stefano Mizzaro - OO 17 instanceof Operatore (parola riservata) Java Dice se (il valore contenuto in) una variabile è istanza di una classe Persona p = new Persona( ); Studente s = new Studente( ); System.out.println(p instanceof Persona); System.out.println(p instanceof Studente); System.out.println(s instanceof Studente); System.out.println(s instanceof Persona); true false true Stefano Mizzaro - OO true 18 Stefano Mizzaro 3
4 Ereditarietà e private Si eredita tutto (anche attributi e metodi private) ma non tutto è visibile (solo ciò che non è private) class { private int x; public int getx(){ return x; class extends { public void { System.out.println println(x); class extends { public void { System.out.println(getX()); La sovrascrittura (overriding) Un metodo di una sottoclasse può sovrascrivere un metodo con la stessa firma in una sopraclasse Es.: visualizziamo anche la matricola di uno studente (e quindi il tostring va ridefinito/sovrascritto nella sottoclasse) class Studente extends Persona { private int matricola; return //COPIO il tostring di Persone + matricola; // e aggiungo la matricola Stefano Mizzaro - OO 19 Stefano Mizzaro - OO 20 System.out.println(p2), con p2 istanza di Studente, visualizza anche la matricola Sovrascrittura e sovraccarico Sovrascrittura: nella sottoclasse posso specializzare il comportamento N.. Sovrascrittura (overriding) sovraccarico (overloading) Sovraccarico: nome =, firme Sovrascrittura: nome =, firme = Sovrascrittura Sovraccarico Sovrascrittura (firme =) sovraccarico (firme ) class { public void m1() { public void m2() { public void m2(.) { public void m3() { class extends { public void m1() { public void m3(.) { Stefano Mizzaro - OO 21 Stefano Mizzaro - OO 22 Il super (1/2) Duplicazione di Con super si fa riferimento alla sopraclasse Esempio: class Studente extends Persona { private int matricola; return super.tostring() // chiamo tostring di Persone + matricola; // E aggiungo la matricola Il super (2/2) Il super nel costruttore public () { super(); ; Il costruttore di default: public () { super(); super (riferimento alla sopraclasse) simile al this (riferimento alla classe) Stefano Mizzaro - OO 23 Stefano Mizzaro - OO 24 Stefano Mizzaro 4
5 Relazioni fra classi (1/2) È-un (is-a) Relazione fra sopraclassi e sottoclassi Il trapezio è un quadrilatero, che è un poligono, che è una figura geometrica bidimensionale, che è una figura geometrica; l'automobile è un veicolo, ecc. ecc. È la relazione che corrisponde all'eredità Parte-di (part-of, o has-a, o ha-un) Relazione fra un oggetto e le sue componenti Il punto è una parte del cerchio (è il suo centro); il pistone è parte del motore, che è parte dell'automobile Relazione che corrisponde all'operazione di composizione. Usa Relazione fra le classi che implementano TD e le classi che li usano: classi di prova. Stefano Mizzaro - OO 25 Relazioni fra classi (2/2) [Istanza-di (instance-of, membro-di, member-of)] Relazione fra una classe e i suoi elementi (istanze, oggetti, esemplari), o fra un insieme e i suoi elementi: Il cerchio c1 è un'istanza della classe Cerchio; la mia automobile è un'istanza della classe delle automobili; ecc. Oppure (?): Cerchio è-un Punto (cerchio = punto + raggio) Studente parte-di Persona (in tostring() di Studente invoco tostring() di Persona per visualizzare la parte dello studente che è una persona ) uon senso, regola del sottoinsieme, Stefano Mizzaro - OO 26 Scaletta Esempio Ereditarietà Polimorfismo Polimorfismo (1/2) Programma di grafica Struttura dati per tutte le figure Tanti array Scomodo! Punto[] punti; Cerchio[] cerchi; if (x instanceof Punto) punti[i] = x; else if (x instanceof Cerchio) cerchi[i] = x; else if for (int i = ){ punti[i].draw(); cerchi[i].draw(); Stefano Mizzaro - OO 27 Stefano Mizzaro - OO 28 Polimorfismo (2/2) È più comodo parlare alla classe base! Si può fare! Figura[] figure = new Figura[100]; figure[i] = new Punto(); figure[j] = new Cerchio(); for (int k = ) figure[k].draw(); Perché il polimorfismo funziona N.. Polimorfismo va combinato con (dipende da, è basato su): eredità (Figura è sopraclasse) e sovrascrittura (draw() è sovrascritto) Maniglie Le variabili non contengono gli oggetti Le variabili contengono il riferimento (la maniglia) agli oggetti Stefano Mizzaro - OO 29 Stefano Mizzaro - OO 30 Stefano Mizzaro 5
6 Le maniglie a a = new (); Stefano Mizzaro - OO 31 a stack heap a = new (); Maniglie ed eredità a b a = new (); a.; b = new (); b.; a = new (); a = b; a.; Stefano Mizzaro - OO 32 Terminologia Late binding, run-time binding (durante l esecuzione) Non early binding, compile-time binding (durante la compilazione) Dynamic method lookup Sovrascrittura, sovraccarico Eckel: If it isn t late binding, it isn t poliymorphism Il codice Java classi Punto.java Cerchio.java Figura.java (Linea.java) UsaFigura.java Stefano Mizzaro - OO 33 Stefano Mizzaro - OO 34 Punto.java, Cerchio.java class Punto extends Figura { //tutto come prima public void draw() { class Cerchio extends Figura { //tutto come prima public void draw() { Figura.java Una figura generica non sa disegnarsi class Figura { public void draw() { Stefano Mizzaro - OO 35 Stefano Mizzaro - OO 36 Stefano Mizzaro 6
7 UsaFigura.java class UsaFigura { public static void main (String[] args) { Figura[] figure = new Figure[4]; figure[0] = new Punto(); figure[1] = new Cerchio(); figure[2] = new Punto(); figure[3] = new Cerchio(); for (int i = ) figure[i].draw(); // Il draw() "in basso" Stefano Mizzaro - OO 37 Esercizio: cosa visualizza? class { public void { System.out.println(""); class extends { public void { System.out.println(""); class P { public static void main (String[] args) { a = new (); b = new (); a.; b.; a = b; a.; >java P Stefano Mizzaro - OO 38 Riassumendo: cos è la OOP? Riassunto TD Incapsulamento, interfaccia, implementazione Composizione, uso Scambio messaggi Oggetti attivi che si parlano Metodi/attributi d istanza e di classe Ereditarietà Estensione, sovrascrittura, sottotipo, extends, super, relazioni fra classi Polimorfismo Maniglie, late binding, talk to the base class Ereditarietà (cenni) Polimorfismo (cenni) Prossima lezione Riassunto Esercizi Info su provetta Info su autovalutazione Prossimamente OO in Java Stefano Mizzaro - OO 39 Stefano Mizzaro - OO 40 Stefano Mizzaro 7
Riassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.
OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro [email protected] Programmazione,
Prossime 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 [email protected] Programmazione, lezione 18 19 gennaio
Riassunto. Dai TDA agli oggetti. Riassunto TDA. Oggi. Esempio. Stefano Mizzaro 1
Dai TDA agli oggetti Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ [email protected] Programmazione, lezione 15 22 novembre 2006 Riassunto
A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
Esercitazione n 3. Obiettivi
Esercitazione n 3 Obiettivi Capacità di analisi e di estensione di progetti esistenti Linguaggio Java: Ereditarietà delle classi Utilizzo di costruttori e metodi di superclasse Visibilità: public, private,
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
Esempi 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
16 - Ereditarietà, tipi e gerarchie
16 - Ereditarietà, tipi e gerarchie 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
16 - Ereditarietà, tipi e gerarchie
16 - Ereditarietà, tipi e gerarchie Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo
14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Linguaggi 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 [email protected] Programmazione Object Oriented in Java
Esempio 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
Programmazione a oggetti
Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi [email protected] Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software
Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le
Esercizi 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
Programmazione 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
Esercizi 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
Laboratorio 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
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:
Esercizi 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
public int gety() { return y;
Alcuni esercizi su metodi sovrascritti e late binding 1. Siano date le classi seguenti: public class A { private int x; public A (int k) { x = k; public int getx() { return x; public class B extends A
Ereditarietà e Polimorfismo
Ereditarietà e Polimorfismo Riusare il software A volte si incontrano classi con funzionalità simili In quanto sottendono concetti semanticamente vicini È possibile creare classi disgiunte replicando le
Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Paradigma O.O. Oggetti e Classi Ereditarietà Paradigma Object-Oriented Il paradigma O.O. si ispira all ambiente che ci circonda,
Fondamenti di Informatica T-1. Costruttori Ereditarietà
Costruttori Ereditarietà 2 Costruttori Si occupano della creazione e dell'allocazione in memoria degli oggetti. public class Persona{ //Variabili di istanza private String nome; private String cognome;
Proprietà delle Classi e degli Oggetti in Java
Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di
INTRODUZIONE INTRODUZIONE JAVA JAVA
INTRODUZIONE INTRODUZIONE Lo sviluppo di applicazioni complesse porta a costruire moduli software sempre più potenti e versatili, che possano essere riutilizzati in numerosi progetti I linguaggi ad oggetti
Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo
Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il
Parola 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
Definizione di classi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti
Definizione di classi con array di oggetti
Definizione di classi con array di oggetti 1. (Esame scritto del 18/9/2002, Esercizio 6.) La banca dati di un agenzia assicurativa per auto è caratterizzata da un insieme di polizze di assicurazioni per
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
Ereditarietà. Ereditarietà. Ereditarietà. Ereditarietà
L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe
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
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Programmazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java
Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ [email protected] Programmazione, lezione 17 3 maggio 2015! Programmazione
La classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
Programmazione Java Struttura di una classe, Costruttore, Riferimento this
Programmazione Java Struttura di una classe, Costruttore, Riferimento this [email protected] http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento
Programmazione orientata agli oggetti Classi astratte e interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce Fondamenti di Informatica L-B 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma
Introduzione. Java. Esempio. Esempio
Java polimorfismo G. Prencipe [email protected] Introduzione È un altro degli ingredienti fondamentali della OOP Permette di organizzare il codice e la leggibilità e di ottenere programmi estensibili
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
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali. Esempio Animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali
Classi astratte e progettazione OOP Esempio: l enciclopedia degli animali 1 Ereditarietà, polimorfismo e altri sporchi trucchi Facciamo un esempio che ci permette di comprendere come vengono utilizzate
Laboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 7 Settembre 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Ristorante. La classe Tavolo ha i seguenti attributi: numero
In questa lezione. Polimorfismo
In questa lezione Polimorfismo (in Java) Tipo statico e tipo dinamico dei reference Binding dinamico (late binding) Casting (Upcasting e Downcasting) Operatore instanceof Polimorfismo con Object Polimorfismo
ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1:
ESERCIZI JAVA Esercizi sulle Interfacce Esercizio 1: Java mette a disposizione un'interfaccia chiamata Comparable. Quando un oggetto implementa questa interfaccia esso può implementare un metodo chiamato
R. 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:
Esercitazione. Docente Ing. Mariateresa Celardo
Esercitazione Docente Ing. Mariateresa Celardo [email protected] Scrivere la classe Motorino che ha i seguenti attributi colore: una stringa indicante il colore del motorino, velocità: un
Algoritmi 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
3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;
Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso
Algoritmi 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
Algoritmi 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
Indice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
Le basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
