Intern
En quoi consiste le sens de l'encapsulation?
sobes.tech IA
Réponse de l'IA
L'essence de l'encapsulation en Java consiste à cacher les détails d'implémentation d'une classe et à fournir un accès contrôlé à ses données via des méthodes publiques.
Cela est réalisé par:
- Déclarer les champs de la classe comme private: Cela les rend inaccessibles directement depuis l'extérieur de la classe.
- Fournir des méthodes publiques (getters et setters): À travers ces méthodes, on peut obtenir et modifier les valeurs des champs, et dans les setters, on peut ajouter une logique pour vérifier la validité des données.
Avantages:
- Contrôle d'accès: Permet de gérer comment les données de la classe sont utilisées et modifiées.
- Flexibilité: La mise en œuvre interne de la classe peut changer sans affecter le code qui l'utilise (car l'interaction se fait via une interface publique).
- Protection des données: Empêche l'accès et la modification non autorisés ou incorrects.
- Réduction de la complexité: En cachant les détails internes, la compréhension et l'utilisation de la classe sont simplifiées.
Exemple:
class Car {
private String model; // Champ privé
public String getModel() { // Getter pour accéder à model
return model;
}
public void setModel(String model) { // Setter pour modifier model avec validation possible
if (model != null && !model.isEmpty()) {
this.model = model;
} else {
System.out.println("Modèle incorrect!");
}
}
}