Sobes.tech
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 :

  1. Via des méthodes publiques (setters) — la classe fournit des méthodes pour modifier ses champs, par exemple setName(String name).
  2. 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).
  3. 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.