Metodo get e controlli sul valore delle variabili

di il
3 risposte

Metodo get e controlli sul valore delle variabili

Ciao a tutti,

Sto studiando il manuale di De Sio e nella parte relativa all'incapsulamento, quando parla di set e get (pag 121), ad un certo punto afferma che (testuali parole):

"Inoltre anche un accessor method potrebbe fare dei controlli come un mutator method.
Per esempio nella seguente classe l’accessor method gestisce l’accesso ad un saldo
bancario personale, mediante l’inserimento di un codice segreto:


public class ContoBancario {
private String contoBancario = "5000000 di Euro";
private int codice = 1234;
public String getContoBancario(int codiceDaTestare) {
if (codiceDaTestare == codice) {
return contoBancario;
}
else {
return "codice errato!!!";
}

Ho provato a istanziare un oggetto di questa classe nella classe main e ho invocato il metodo get (vedi codice sotto) ma non succede nulla, nel senso che non mi pare che il sistema faccia un controllo e restituisca un risultato. E mi verrebbe da dire che è normale, in quanto poco prima è stato spiegato che è il metodo Set a permettere l'attribuzione di un valore a una variabile private (nel quale poi possiamo innestare un ciclo di controllo). Cosa intende allora De Sio con la sua affermazione? Avevo capito che Get era usato solo per accedere a una variabile per stamparne a video il valore!

public class main {

public static void main (String args[]){

ContoBancario mioconto;
mioconto = new ContoBancario ();

mioconto.getContoBancario(1234);

}

}

Grazie della vostra pazienza e del vostro aiuto

3 Risposte

  • Re: Metodo get e controlli sul valore delle variabili

    Scusate, mi era sfuggito un particolare..

    Ho aggiunto il seguente comando e funziona..

    System.out.println(mioconto.getContoBancario(1234));

    chiedo venia
  • Re: Metodo get e controlli sul valore delle variabili

    Frengo ha scritto:


    mioconto.getContoBancario(1234);
    Molto in generale: un metodo getter di per sé come concetto restituisce solo un valore e basta (il metodo getter non dovrebbe nemmeno "stampare" lui qualcosa).
    Spetta poi a te "usare" quel valore. Puoi assegnarlo ad una variabile, passarlo ad un altro metodo o inserirlo in una espressione più complessa. Se non fai nulla di tutto questo, il valore "si perde" e la invocazione del getter diventa inutile (salvo altri effetti collaterali es. del logging o altro che il getter potrebbe fare).
  • Re: Metodo get e controlli sul valore delle variabili

    Grazie
Devi accedere o registrarti per scrivere nel forum
3 risposte