En Java, les getters et setters sont des fonctions tout à fait ordinaires. La seule chose qui les rend getters ou setters est la convention. Un getter pour foo est appelé getFoo et le setter est appelé setFoo. Dans le cas d'un booléen, le getter s'appelle isFoo. Ils doivent également avoir une déclaration spécifique, comme le montre cet exemple de getter et setter pour 'name' :
class Dummy
{
private String name;
public Dummy() {}
public Dummy(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
La raison pour laquelle vous utilisez des récupérateurs et des régleurs au lieu de rendre vos membres publics est qu'il est possible de modifier l'implémentation sans changer l'interface. En outre, de nombreux outils et boîtes à outils qui utilisent la réflexion pour examiner les objets n'acceptent que les objets dotés de getters et setters. JavaBeans par exemple, doit avoir des getters et des setters ainsi que d'autres exigences.
0 votes
@yegor256 Je comprends votre analogie avec le chien et la balle et je la soutiens même, mais qu'en est-il lorsqu'un objet "organisme vivant" stocke une valeur primitive occasionnelle, par exemple un ID ? Que faire si vous voulez aller un peu plus loin que la simple affectation mais que vous ne voulez pas écrire une nouvelle classe uniquement pour gérer les valeurs primitives ?