Capitolo 4 Classi Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies.

Slides:



Advertisements
Presentazioni simili
1 Le s-espressioni. 2 Un nuovo esempio completo: le s-espressioni Sexpr 4 alberi binari (possibilmente vuoti) che hanno sulle foglie atomi (stringhe)
Advertisements

1 Progettazione gerarchica delle s- espressioni, utilizzando lereditarietà
Interfacce Java.
WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
Capitolo 2 Nozioni fondamentali su Java Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
Segnali e sistemi per le telecomunicazioni - Claudio Prati Copyright © The McGraw-Hill Companies, srl.
Capitolo 2 Nozioni fondamentali su Java Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
METODI STATISTICI PER LA PREVISIONE DELLE INSOLVENZE D'IMPRESA*
Capitolo 7 Programmazione con metodi e classi Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004.
Capitolo 5 Decisioni Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Capitolo 8 Array Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Alcune Classi Standard Object, Vettori. Esercizio dellultima volta Superclasse Persona Sottoclasse Libro.
Esercizio 2. Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni di classe.
Layouts and Graphics. component - container - layout Un Container contiene [0 o +] Components Il Layout specifica come i Components sono disposti nel.
Model – View - Controller
Esempio: Tombola! Parte seconda.
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
J0 1 Marco Ronchetti Java Threads & Sincronizzazione.
Modificatori: static Variabili e metodi associati ad una Classe anziche ad un Oggetto sono definiti static. Le variabili statiche servono come singola.
Richiami di Java Multithreading. Threads (subclassing) public class A { public void a_method { C t = new C(); //C t = new C(String name); t.start(); …
Sezione: Costruttori Costruttori. Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore.
prompt> java SumAverage
1 struct Pila { private: int size; int defaultGrowthSize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialSize) ; Pila();
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
JAVA C import java.util.*; #include <stdio.h>
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Sottoprogrammi e Unità di Compilazione Nicola Fanizzi Laboratorio - Corso di Programmazione (B) C.d.L. in Informatica DIB - Università degli Studi di Bari.
Progetto di applicazioni grafiche. Disegno di forme complesse Prassi : un classe per ciascuna forma Progetta la forma individuando le componenti base.
Packages. Package: insieme di classi e interfacce in relazione Per formare un package basta inserire la direttiva come prima istruzione nel file sorgente.
Programmazione distribuita in Java
1 Funzioni e Procedure in C Corso di Informatica A Vito Perrone.
Java base VI: Gestione I/O. Argomenti Introdurre le API per linput e output in Java.
Componenti dell’architettura Oracle
JAVA E LA GRAFICA L’architettura Java è graphics-ready
1 Gestione della Window Daniele Marini. 2 Definire una Window: GLUT o altro WM /* Standard GLUT initialization */ glutInit(&argc,argv); glutInitDisplayMode.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Fotogrammetria elementare
Lezione n° 05 Istituto Statale di Istruzione Superiore F. Enriques Corso JAVA.
Un esempio: Registrazione e lettura di dati in un file
Il sistema operativo Sistema operativo (in breve) –È costituito dai programmi di gestione delle operazioni più elementari del computer –… gestione di vari.
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 4 ARGOMENTI: STRINGHE DI CARATTERI.
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
IL METODO FOTOGRAMMETRICO 1
C OME CREARE I FRAME. Dal pannello File fai doppio clic sul file default.html per aprire la pagina (figura 1.1). Figura 1.1 Il file default.html.
PORTE APERTE SUL WEB L'officina del webmaster: strumenti, materiali, iniziative, fonti di informazione, e poi perché costruire siti scolastici ? Laura.
OUTPUT FORMATTATO La funzione printf consente di effettuare la stampa a video formattata. Sintassi: printf ( stringa_formato, arg0, arg1, … ); La stringa.
Sviluppo di una Xlet per la TV digitale terrestre Vademecum della regione marche 2006 Ventura Luca.
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 6 ARGOMENTI: LAVORARE CON CLASSI METODI DELLISTANZA, COSTRUTTORI.
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2003/2004.
Ese 2 (del 31 Marzo 2004). Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni.
Multiset. Progettare (specifica con identificazione delle eventuali astrazioni necessarie, incluse eccezioni, e implementazione) del tipo di dato Multiset,
Soluzioni 1.Struttura base soluzione 2.Lettura dei tasti 3.Identificazione dei tasti 4.Accensione dei LED 5.Rotazione dei LED 6.Rotazione dei tasti fino.
Test con JUnit. zJUnit è un ambiente di test per programmi Java ySviluppato da Kent Beck É possibile usare JUnit allinterno di Eclipse per eseguire i.
1 Simulated multiple inheritance Sandro Pedrazzini Approfondimento Simulated multiple inheritance in Java.
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
Collection & Generics in Java
Lezione n° 07 - Esercitazione
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Colori e Font in java.
Definizione di classi Capitolo 18 febbraio 2004 Definizione di classi.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
Oggetti Java.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Transcript della presentazione:

Capitolo 4 Classi Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Preparazione La scena finora ha riguardato esperienze e materiali di base Sistemi informatici e soluzione dei problemi Variabili Tipi Input e output Espressioni Assegnazioni Oggetti Classi e metodi standard Pronti per quanto riguarda realmente Java Progettare e implementare oggetti che rappresentano informazioni e oggetti del mondo fisico

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Programmazione orientata agli oggetti Base Creare e manipolare oggetti con attributi e comportamenti che il programmatore può specificare Meccanismo Classi Vantaggi Un tipo di informazione viene progettato e implementato una volta Riutilizzato come necessario Non servono nuove analisi o giustificazioni della rappresentazione

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl La prima classe - ColoredRectangle Scopo Rappresenta un rettangolo colorato in una finestra Introduce le nozioni fondamentali della progettazione e dell'implementazione di oggetti

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Nozioni di base JFrame Classe Java principale per rappresentazione una finestra grafica con titolo e bordo. Considerare JFrame w1 = new JFrame("Bigger"); JFrame w2 = new JFrame("Smaller"); w1.setSize(200, 125); w2.setSize(150, 100); w1.setVisible(true); w2.setVisible(true);

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Nozioni di base Considerare JFrame w1 = new JFrame("Bigger"); JFrame w2 = new JFrame("Smaller"); w1.setSize(200, 125); w2.setSize(150, 100); w1.setVisible(true); w2.setVisible(true);

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Classe ColoredRectangle - versione iniziale Scopo Supportare la visualizzazione della finestra quadrata contenente un rettangolo blu La finestra ha una lunghezza del lato pari a 200 pixel Il rettangolo è largo 40 pixel e alto 20 L'angolo superiore sinistro del rettangolo si trova a (80, 90) Le limitazioni sono temporanee Ricordare che BMI.java precedeva BMICalculator.java Molti concetti da introdurre

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl ColoredRectangle in azione Considerare ColoredRectangle r1 = new ColoredRectangle(); ColoredRectangle r2 = new ColoredRectangle(); System.out.println("Enter when ready"); System.in.read(); r1.paint(); // disegna la finestra associata a r1 r2.paint(); // disegna la finestra associata a r2

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl ColoredRectangle in azione Considerare ColoredRectangle r1 = new ColoredRectangle(); ColoredRectangle r2 = new ColoredRectangle(); System.out.println("Enter when ready"); System.in.read(); r1.paint(); // disegna la finestra associata a r1 r2.paint(); // disegna la finestra associata a r2

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl ColoredRectangle in azione Considerare ColoredRectangle r1 = new ColoredRectangle(); ColoredRectangle r2 = new ColoredRectangle(); System.out.println("Enter when ready"); System.in.read(); r1.paint(); // disegna la finestra associata a r1 r2.paint(); // disegna la finestra associata a r2

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl ColoredRectangle in azione Considerare ColoredRectangle r1 = new ColoredRectangle(); ColoredRectangle r2 = new ColoredRectangle(); System.out.println("Enter when ready"); System.in.read(); r1.paint(); // disegna la finestra associata a r1 r2.paint(); // disegna la finestra associata a r2 Il messaggio indica che i due oggetti devono essere visualizzati All'oggetto ColoredRectangle a cui fa riferimento r2 viene inviato un messaggio All'oggetto ColoredRectangle a cui fa riferimento r1 viene inviato un messaggio

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Struttura di ColoredRectangle.java import javax.swing.*; import java.awt.*; public class ColoredRectangle { // variabili istanza per attributi dell'oggetto private int width; private int x; private int height; private int y; private JFrame window; private Color color; // ColoredRectangle(): costruttore predefinito public ColoredRectangle() { // configura gli attributi } // paint(): mostra il rettangolo nella sua finestra public void paint() { // Rappresenta il disegno }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Variabili istanza e attributi Campo dati Termine Java per l'attributo di un oggetto Variabile istanza Nome simbolico per un campo dati Solitamente dispone di accesso privato Assiste nel celamento delle informazioni incapsulando gli attributi dell'oggetto Inizializzazione predefinita Variabili istanza numeriche inizializzate a 0 Variabili istanza logiche inizializzate su false Variabili istanza oggetto inizializzate a null

public class ColoredRectangle { // variabili istanza per attributi dell'oggetto private int width; private int x; private int height; private int y; private JFrame window; private Color color; // ColoredRectangle(): costruttore predefinito public ColoredRectangle() { window = new JFrame("Box Fun"); window.setSize(200, 200); width = 40; x = 80; height = 20;y = 90; color = Color.BLUE; window.setVisible(true); } // paint(): mostra il rettangolo nella sua finestra public void paint() { Graphics g = window.getGraphics(); g.setColor(color); g.fillRect(x, y, width, height); }

public class ColoredRectangle { // variabili istanza per contenere attributi dell'oggetto private int width; private int x; private int height; private int y; private JFrame window; private Color color; // ColoredRectangle(): costruttore predefinito public ColoredRectangle() { window = new JFrame("Box Fun"); window.setSize(200, 200); width = 40; x = 80; height = 20;y = 90; color = Color.BLUE; window.setVisible(true); } // paint(): mostra il rettangolo nella sua finestra public void paint() { Graphics g = window.getGraphics(); g.setColor(color); g.fillRect(x, y, width, height); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Costruttore predefinito di ColoredRectangle Il nome del costruttore è sempre uguale a quello della classe Un costruttore non riporta un tipo di restituzione. Un costruttore restituisce sempre un riferimento a un nuovo oggetto della sua classe

public class ColoredRectangle { // variabili istanza per contenere attributi dell'oggetto private int width; private int x; private int height; private int y; private JFrame window; private Color color; // ColoredRectangle(): costruttore predefinito public ColoredRectangle() { window = new JFrame("Box Fun"); window.setSize(200, 200); width = 40; x = 80; height = 20;y = 90; color = Color.BLUE; window.setVisible(true); } // paint(): mostra il rettangolo nella sua finestra public void paint() { Graphics g = window.getGraphics(); g.setColor(color); g.fillRect(x, y, width, height); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Costanti di colore Color.BLACK Color.BLUE Color.CYAN Color.DARK_GRAY Color.GRAY Color.GREEN Color.LIGHT_GRAY Color.MAGENTA Color.ORANGE Color.PINK Color.RED Color.WHITE Color.YELLOW

Il valore di una variabile ColoredRectangle è un riferimento a un oggetto ColoredRectangle

public class ColoredRectangle { // variabili istanza per attributi dell'oggetto private int width; private int x; private int height; private int y; private JFrame window; private Color color; // ColoredRectangle(): costruttore predefinito public ColoredRectangle() { window = new JFrame("Box Fun"); window.setSize(200, 200); width = 40; x = 80; height = 20;y = 90; color = Color.BLUE; window.setVisible(true); } // paint(): mostra il rettangolo nella sua finestra public void paint() { Graphics g = window.getGraphics(); g.setColor(color); g.fillRect(x, y, width, height); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Contesto grafico Grafica Definita in java.awt.Graphics Rappresenta le informazioni per una richiesta di rendering Colore Componente Tipo di carattere … Fornisce metodi Disegno di testo Disegno di linee Disegno di forme Rettangoli Ovali Poligoni

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Sistema di coordinate Java

public class ColoredRectangle { // variabili istanza per attributi dell'oggetto private int width; private int x; private int height; private int y; private JFrame window; private Color color; // ColoredRectangle(): costruttore predefinito public ColoredRectangle() { window = new JFrame("Box Fun"); window.setSize(200, 200); width = 40; x = 80; height = 20;y = 90; color = Color.BLUE; window.setVisible(true); } // paint(): mostra il rettangolo nella sua finestra public void paint() { Graphics g = window.getGraphics(); g.setColor(color); g.fillRect(x, y, width, height); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Invocazione dei metodi Considerare r1.paint(); // visualizza la finestra associata a r1 r2.paint(); // visualizza la finestra associata a r2 Osservare Quando viene eseguito un metodo istanza, il sistema accede e manipola gli attributi dell'oggetto associati all'invocazione È importante comprendere quale oggetto viene manipolato

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Invocazione dei metodi La variabile d'istanza window fa riferimento all'attributo JFrame dell'oggetto che ha causato l'invocazione. Ossia, l'invocazione di r1.paint() consente l'accesso all'attributo window dell'oggetto ColoredRectangle a cui fa riferimento r1. Analogamente, l'invocazione di r2.paint() consente l'accesso all'attributo window dell'oggetto ColoredRectangle a cui fa riferimento r2 I valori di queste variabili d'istanza sono gli stessi dell'oggetto ColoredRectangle che ha invocato il metodo paint()

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Perfezionamento di ColoredRectangle Analisi Un oggetto ColoredRectangle dovrebbe Essere in grado di avere un colore Essere posizionabile ovunque nella sua finestra Non presentare limitazioni su larghezza e altezza Attributi accessibili Attributi aggiornabili

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Perfezionamento di ColoredRectangle Costruzioni e comportamenti aggiuntivi Costruzione specifica Costruire la rappresentazione di un rettangolo utilizzando i valori forniti per i suoi attributi Funzioni di accesso Fornire i valori degli attributi Singoli metodi per fornire larghezza, altezza, coordinata x, coordinata y, colore o finestra del rettangolo associato Funzioni di modifica Gestire le richieste per la modifica degli attributi Garantire che gli oggetti abbiano sempre i valori sensibili Singoli metodi per impostare larghezza, altezza, coordinata x, coordinata y, colore o finestra del rettangolo associato su un valore dato

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Un metodo di modifica Definizione // setWidth(): cambia la larghezza public void setWidth(int w) width = w; } Utilizzo Il valore iniziale dei parametri formali deriva dal parametro effettivo Le modifiche al parametro formale non hanno effetto sul parametro effettivo L'oggetto da manipolare è quello a cui fa riferimento s

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Valutazione di setWidth() L'invocazione trasmette un messaggio all'oggetto ColoredRectangle a cui fa riferimento s, nel quale è definita la modifica dell'attributo. Per svolgere questa operazione, il flusso di controllo viene temporaneamente trasferito a setWidth(). Il valore del parametro effettivo è 80 Per l'invocazione del metodo setWidth(), w viene inizializzato su 80. L'oggetto a cui si fa riferimento all'interno del corpo del metodo è l'oggetto a cui fa riferimento s Il metodo setWidth() imposta la variabile d'istanza width del suo oggetto ColoredRectangle. Per questa invocazione, width viene impostata su 80, e l'oggetto ColoredRectangle è quello a cui fa riferimento s Il metodo setWidth() ha finito. Il controllo viene restituito all'istruzione che aveva richiamato setWidth()

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Dettagli Considerare ColoredRectangle r = new ColoredRectangle(); r.paint(); r.setWidth(80); r.paint(); Qual è la larghezza del rettangolo sullo schermo dopo l'esecuzione della funzione di modifica?

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Altre funzioni di modifica public void setHeight(int h) height = h; } public void setX(int ulx) x = ulx; } public void setY(int uly) y = uly; } public void setWindow(JFrame f) window = f; } public void setColor(Color c) color = c; }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Utilizzo della funzione di modifica Trasmette un messaggio all'oggetto ColoredRectangle di u per modificare in 100 l'attributo per l'altezza Trasmette un messaggio all'oggetto ColoredRectangle di u per modificare in rosa l'attributo per il colore Trasmette un messaggio all'oggetto ColoredRectangle di v per modificare in 25 l'attributo per la posizione dell'asse x Trasmette un messaggio all'oggetto ColoredRectangle di v per modificare in 50 l'attributo per la posizione dell'asse y Trasmette un messaggio all'oggetto ColoredRectangle di v per modificare l'attributo window in modo da visualizzare la finestra JFrame di s

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Funzioni di accesso Proprietà Non richiede parametri Ogni esecuzione della funzione di accesso produce un valore di ritorno Il valore di ritorno è il valore dell'invocazione Il tipo di ritorno del metodo precede il nome del metodo nella definizione Per il metodo getWidth(), il valore di ritorno è il valore dell'attributo per la larghezza dell'oggetto ColoredRectangle associato con l'invocazione. Nell'invocazione di t.getWidth(), il valore di ritorno è il valore della variabile d'istanza width per l'oggetto ColoredRectangle a cui fa riferimento t

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Utilizzo della funzione di accesso L'invocazione trasmette un messaggio all'oggetto ColoredRectangle a cui fa riferimento t, per restituire il valore del suo attributo width. Per svolgere questa operazione, il flusso di controllo viene temporaneamente trasferito a getWidth() Il metodo getWidth() comincia l'esecuzione. Per questa invocazione, l'oggetto a cui si fa riferimento all'interno del corpo è l'oggetto a cui fa riferimento t Il risultato dell'espressione return è 40 (l'attributo per la larghezza dell'oggetto ColoredRectangle a cui fa riferimento t) Il metodo getWidth() termina fornendo il valore di ritorno (40) all'istruzione che l'aveva invocato. Inoltre, l'istruzione che aveva effettuato l'invocazione riprende il controllo del flusso. A questo punto, la variabile w viene inizializzata con il valore di ritorno dell'invocazione (ossia, w viene inizializzata su 40)

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Costruzione specifica public ColoredRectangle(int w, int h, int ulx, int uly, JFrame f, Color c) setWidth(w); setHeight(h); setX(ulx); setY(uly); setWindow(f); setColor(c); } Richiede valori per ogni attributo JFrame display = new JFrame("Even more fun"); display.setSize(400, 400); ColoredRectangle w = new ColoredRectangle(60, 80, 20, 20, display, Color.YELLOW);

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Costruzione specifica public ColoredRectangle(int w, int h, int ulx, int uly, JFrame f, Color c) setWidth(w); setHeight(h); setX(ulx); setY(uly); setWindow(f); setColor(c); } Vantaggi dell'utilizzo delle funzioni di modifica Leggibilità Meno soggette a errori Facilitano i perfezionamenti con la localizzazione

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Vedere doppio import java.io.*; import java.awt.*; public class SeeingDouble public static void main(String[] args) throws IOException ColoredRectangle r = new ColoredRectangle(); System.out.println("Enter when ready"); System.in.read(); r.paint(); r.setY(50); r.setColor(Color.RED); r.paint(); }

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Vedere doppio