Sobes.tech
Junior

Quelles variables peuvent être utilisées dans une classe de données (data class) ?

sobes.tech IA

Réponse de l'IA

Dans une data class, il peut y avoir :

  • val (propriété en lecture seule) : La propriété est initialisée lors de la création de l'objet et ne peut pas être modifiée par la suite. Elle fait partie des méthodes générées automatiquement (equals(), hashCode(), toString(), copy).
  • var (propriété mutable) : La propriété peut être modifiée après la création de l'objet. Elle fait également partie des méthodes générées.
  • Propriétés déclarées dans le corps de la classe : Ces propriétés ne font pas partie des propriétés principales de la data class et ne participent pas à la génération des méthodes standard.

Exemple :

data class User(
    val id: Int, // en lecture seule, partie des propriétés principales
    var name: String, // mutable, partie des propriétés principales
    val creationTime: Long = System.currentTimeMillis() // en lecture seule, avec valeur par défaut, partie des propriétés principales
) {
    val isAdmin: Boolean = false // en lecture seule, pas partie des propriétés principales, n'est pas inclus dans equals/hashCode/toString
}