Stavo esaminando un progetto di framework per giochi open source scritto in Java. Ha diverse classi che:
- Hanno variabili di istanza pubbliche.
- avere getter / setter per tali variabili.
Generalmente, scrivo getter / setter quando voglio incapsulare un comportamento che si verifica quando una proprietà viene modificata.
Tuttavia, guardando il codice, si tratta letteralmente di qualcosa del genere:
public class Test {
public int value;
public void setValue(x) {
value = x;
}
public void getValue() {
return value;
}
}
Poi ho pensato di controllare il resto del framework e vedere come modificano tale valore, il che potrebbe darmi un suggerimento sul perché hanno fatto quanto sopra.
Da quello che ho visto, lo fanno in questo modo:
object.value = 100;
Senza usare i getter / setter.
Quindi ora non sono sicuro di quale sia stato il punto di creare getter / setter.
Quindi, la mia domanda è, c'è una ragione per cui vorrei creare getter / setter per un valore pubblico, se tali getter / setter non implementano nemmeno alcun tipo di comportamento speciale?