Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
Metodi di accesso/modifica

Metodi di accesso/modifica

Ratings: (0)|Views: 155 |Likes:
Published by Cinzia Bocchi
Metodi di accesso (get) e modifica (set) in Java
Metodi di accesso (get) e modifica (set) in Java

More info:

Published by: Cinzia Bocchi on Mar 15, 2010
Copyright:Attribution Non-commercial Share Alike

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/13/2014

pdf

text

original

 
Metodi di accesso e modifica
Nella precedente dispensa abbiamo visto che l'accesso, in lettura e scrittura, allevariabili di istanza di una classe deve essere realizzato attraverso la chiamata dimetodi specifici, detti metodi di accesso e di modifica.I
metodi di accesso
, per convenzione, hanno un nome che inizia con la parola
 get 
, seguita dal nome della variabile di istanza sulla quale operano. Essiconsentono di leggere il valore contenuto nella variabile di istanza, non hannomai parametri e restituiscono un valore dello stesso tipo della variabile di istanzaNella classe Quadrato, il metodo che permette di leggere il valore di lato si puòchiamare
 getLato
, anche se la scelta di un nome diverso non influisce sulrisultato che si vuole ottenere.
public double
getLato
(){return lato;}
I
metodi di modifica
, per convenzione, hanno un nome che inizia con la parola
 set 
, seguita dal nome della variabile di istanza sulla quale operano. Essiconsentendo di assegnare un valore alle variabili di istanza, hanno sempre unparametro, dello stesso tipo della variabile a cui accedono e restituiscono sempreun valore void.Nella classe Quadrato, il metodo che permette di modificare il valore di
lato
sidovrebbe chiamare
 setLato
.
public void
setLato
(double l){lato = l;}
I metodi di modifica effettuano solitamente dei controlli sui valori assegnati allevariabili di istanza. Se il valore fornito non è adeguato si preoccupano dicomunicarlo al chiamante attraverso il lancio di una eccezione. Più avanti inquesto corso ci occuperemo in dettaglio delle eccezioni. Per esempio, se lamisura del lato del quadrato è un numero negativo, il metodo setLato non deveassegnare tale valore alla variabile di istanza ma si deve limitare ad avvisare ilmain. Sarà poi il main a gestire questa situazione, eventualmente richiedendol’inserimento in input di un valore valido per il lato. 
public void
setLato
(double l){if(l>=0)lato = l;else//lancia eccezione}
Autore: Cinzia BocchiUltimo aggiornamento: 10/10/11
1
 
Esempio: Utilizzo di metodi di accesso/modifica
Riprendiamo il codice di Quadrato visto in precedenza e modifichiamoloaggiungendo i metodi di accesso e modifica alla variabile di istanza lato.
 public class Quadrato
{
//VARIABILI DI ISTANZA 
private double lato;
//METODI
public double
getLato
(){return lato;}public void
setLato
(double l){lato = l;}public double calcolaArea(){return Math.pow(lato,2);}}
Anche il codice della classe UsaQuadrato deve essere modificato, per evitare unerrore in fase di compilazione. Aggiungiamo, inoltre, una chiamata al metodogetLato per testarne la correttezza.
import javax.swing.*;
 public class UsaQuadrato
{public static void main(String[] args){//VARIABILI LOCALIdouble area;
Quadrato unQuadrato;
//CREAZIONE OGGETTO QUADRATO
unQuadrato= new Quadrato();
//ISTRUZIONI
unQuadrato.setLato
(Double.parseDouble(JoptionPane.showInputDialog(“Immettere la misura del lato”)));//test del metodo getLatoJoptionPane.showMessageDialog(null,”Lato= “+unQuadrato.getLato());area=
unQuadrato.calcolaArea()
;JoptionPane.showMessageDialog(null,”Area= “+area);}}
Autore: Cinzia BocchiUltimo aggiornamento: 10/10/11
2

Activity (3)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
daddidadoo liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->