Junior — Middle
Comment le code externe peut-il modifier l'état d'une classe?
sobes.tech IA
Réponse de l'IA
Le code externe peut modifier l'état d'une classe de plusieurs manières :
- Via des méthodes publiques (setters) — la classe fournit des méthodes pour modifier ses champs, par exemple
setName(String name). - Via des champs publics — si les champs de la classe sont déclarés comme
public, le code externe peut les modifier directement (non recommandé en raison de la violation de l'encapsulation). - Utilisation de patrons de conception — par exemple, via le pattern Builder ou des méthodes renvoyant des objets modifiables.
Exemple en Kotlin (Android) :
class User {
var name: String = ""
private set // interdiction de modification directe externe
fun updateName(newName: String) {
name = newName
}
}
val user = User()
user.updateName("Иван") // modification de l'état via une méthode
Ainsi, la meilleure approche consiste à fournir un accès contrôlé à la modification de l'état via des méthodes de la classe, en conservant l'encapsulation.