Pourquoi avons-nous besoin de getters et setters (accesseurs) en Java si on peut simplement rendre les champs publics ?
Bonjour à tous ! J'ai commencé à étudier Java et la POO, et j'ai une question. Je vois souvent que dans le code, pour chaque champ d'une classe, on écrit des getters et setters. Par exemple :
```java
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
Mais on pourrait faire plus simple :
```java
public class Person {
public String name;
public int age;
}
```
Et accéder directement : `person.name = "Vassia"`. C'est plus court et plus clair ! Pourquoi perdre du temps à écrire ces méthodes ? Je comprends que cela a un lien avec l'encapsulation, mais en pratique je ne vois pas de différence. Expliquez-moi, s'il vous plaît, à quoi elles servent vraiment, et pas seulement "c'est la coutume". Quel est le sens pratique ? Je suis particulièrement intéressé par la façon dont cela aide lors de la modification du code à l'avenir.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs