Comment puis-je utiliser les méthodes set et get, et pourquoi devrais-je les utiliser ? Sont-ils vraiment utiles ? Et pouvez-vous également me donner des exemples de méthodes set et get ?
Réponses
Trop de publicités?Je pense que tu veux quelque chose comme ça :
public class Person {
private int age;
//public method to get the age variable
public int getAge(){
return this.age
}
//public method to set the age variable
public void setAge(int age){
this.age = age;
}
}
Vous appelez simplement une telle méthode sur une instance d'objet. De telles méthodes sont utiles, surtout si la configuration de quelque chose est censée avoir des effets secondaires. Par exemple si vous souhaitez réagir à certains événements comme :
public void setAge(int age){
this.age = age;
double averageCigarettesPerYear = this.smokedCigarettes * 1.0 / age;
if(averageCigarettesPerYear >= 7300.0) {
this.eventBus.fire(new PersonSmokesTooMuchEvent(this));
}
}
Bien sûr, cela peut être dangereux si quelqu'un oublie d'appeler setAge(int)
là où il le devrait et définit age
directement en utilisant this.age
.
Les setters et les getters sont utilisés pour remplacer les variables membres d'accès direct à partir de classes externes. si vous utilisez un setter et un getter pour accéder à une propriété, vous pouvez inclure l'initialisation, la vérification des erreurs, les transformations complexes, etc. Quelques exemples :
private String x;
public void setX(String newX) {
if (newX == null) {
x = "";
} else {
x = newX;
}
}
public String getX() {
if (x == null) {
return "";
} else {
return x;
}
}