Junior — Middle
Quelles sont les caractéristiques et limitations des classes de données en Kotlin?
sobes.tech IA
Réponse de l'IA
Les classes de données (data class) en Kotlin sont conçues pour stocker des données et fournissent automatiquement des méthodes utiles : equals(), hashCode(), toString(), copy() et des fonctions pour la destructuration.
Caractéristiques et limitations :
- La classe doit avoir au moins un paramètre dans le constructeur.
- Tous les paramètres du constructeur, déclarés dans le
primary constructor, deviennent automatiquement des propriétés. - La classe ne peut pas être abstraite, ouverte, interne ou hériter d'autres classes (mais peut implémenter des interfaces).
- Le compilateur génère des méthodes uniquement pour les propriétés déclarées dans le constructeur, pas pour des propriétés supplémentaires.
- Il est possible de redéfinir les méthodes générées si l'on souhaite modifier leur comportement.
Exemple :
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // créera un nouvel objet avec l'âge modifié
println(user1) // User(name=Alice, age=30)