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