Il existe un modèle "standard" pour les getters et setters en Java, appelé Bean properties. Fondamentalement toute méthode commençant par get
, ne prenant aucun argument et renvoyant une valeur, est une propriété getter pour une propriété nommée comme le reste du nom de la méthode (avec une lettre de début en minuscule). De même, set
crée un setter d'une méthode void avec un seul argument.
Par exemple:
// Getter for "awesomeString"
public String getAwesomeString() {
return awesomeString;
}
// Setter for "awesomeString"
public void setAwesomeString(String awesomeString) {
this.awesomeString = awesomeString;
}
La plupart Java IDEs va générer ces méthodes pour vous si vous leur demandez (dans Eclipse, il est aussi simple que de déplacer le curseur sur un champ et en appuyant sur Ctrl-1, puis en sélectionnant l'option de la liste).
Pour ce que ça vaut, pour une meilleure lisibilité, vous pouvez réellement utiliser is
et has
en place de get
pour les propriétés de type booléen aussi, comme dans:
public boolean isAwesome();
public boolean hasAwesomeStuff();
Je te jure que je l'ai vu la syntaxe de la propriété de style C# quelque part dans un code Java, mais pour la vie de moi je ne me souviens pas où et comment. Cela ne répond pas vraiment à ma question mais je l'accepterai pour le facteur génial. Peut-être que j'ai halluciné à l'époque. – Ishmaeel
Je suis assez sûr que cela ne peut pas être fait en Java, désolé. Il y a beaucoup de langages JVM qui ont un support de première classe pour ce genre de chose, cependant, c'est peut-être ce que vous avez vu? – Calum
Est-ce une violation de cette convention si vous préfixez une variable membre avec quelque chose comme 'm',' m_', ou '_', mais vous n'incluez pas ce préfixe dans le nom de la propriété? – Panzercrisis