Sei sulla pagina 1di 3

Modello di esecuzione

file Quadrato.java public class Quadrato { //VARIABILI DI ISTANZA public double lato; //METODI public double calcolaArea() { return Math.pow(lato,2); }

Istruzione 1 }

file UsaQuadrato.java import javax.swing.*; pubkic class UsaQuadrato { public static void main(String[] args) { //VARIABILI LOCALI double area; Quadrato unQuadrato; Istruzione 2 Istruzione 3 //CREAZIONE OGGETTO QUADRATO unQuadrato= new Quadrato(); //ISTRUZIONI unQuadrato.lato= Double.parseDouble(JoptionPane. showInputDialog(Immettere la misura del lato)); area= unQuadrato.calcolaArea(); JoptionPane.showMessageDialog(null,Area= +area);

Istruzione 4 Istruzione 5 } }

Supponiamo che il lato del quadrato sia pari a 2; in output dovremo ottenete 4. Prima dellesecuzione della prima istruzione del main, in memoria viene allocata la variabile locale al main, area, e la variabile reference unQuadrato: Ambiente del metodo main area unQuadrato null

Autore: Cinzia Bocchi Ultimo aggiornamento: 20/01/09

La variabile locale area non contiene un particolare valore iniziale (a meno di non indicarlo esplicitamente nel programma). La variabile reference unQuadrato viene invece inizializzata di default al valore null. Vi ricordo che le variabili reference non contengono i valori dei dati ma i riferimenti (indirizzi di memoria) ad essi. Lesecuzione inizia dallistruzione 2. Esecuzione dellistruzione 2 Viene creata una istanza della classe Quadrato e il suo indirizzo viene assegnato alla variabile reference unQuadrato. Loggetto unQuadrato contiene tutte le variabili di istanza definite nella classe Quadrato. Le variabili di unQuadrato vengono inizializzate ai valori di default (0 per i numeri, stringa vuota per le stringhe, false per i booleani). La freccia in figura indica che la variabile unQuadrato punta alloggetto appena creato. Ambiente del metodo main area unQuadrato Oggetto unQuadrato lato

Esecuzione dellistruzione 3 Lutente inserisce la misura del lato e questa viene salvata nella variabile lato delloggetto unQuadrato. Ambiente del metodo main area unQuadrato Oggetto unQuadrato lato

Esecuzione dellistruzione 4 Viene chiamato il metodo calcolaArea sulloggetto unQuadrato. Il controllo passa al chiamato e viene eseguita listruzione 1. Esecuzione dellistruzione 1 Viene calcolato il quadrato di lato, ottenendo come risultato 4. Il valore calcolato viene restituito al chiamante mediante listruzione return e lesecuzione di calcolaArea termina. Il metodo main riprende il controllo e assegna alla variabile locale area il valore restituito da calcolaArea. Ambiente del metodo main area 4 unQuadrato Oggetto unQuadrato lato

Autore: Cinzia Bocchi Ultimo aggiornamento: 20/01/09

Esecuzione dellistruzione 5 Il valore dellarea viene restituito in output allutente e il metodo main termina. Tutte le risorse allocate vengono rilasciate.

Quest'opera stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Autore: Cinzia Bocchi Ultimo aggiornamento: 20/01/09