Junior — Middle
Pouvez-vous expliquer comment la classe de données est implémentée et fonctionne en interne dans Kotlin?
sobes.tech IA
Réponse de l'IA
En Kotlin, data class est une classe spéciale conçue pour stocker des données. Lors de la compilation, le compilateur génère automatiquement plusieurs méthodes utiles:
equals()ethashCode()— pour comparer des objets par valeur, pas par référence.toString()— pour une représentation en chaîne pratique de l'objet.copy()— pour créer une copie de l'objet avec la possibilité de modifier certaines propriétés.- Fonctions
componentN()— pour la destructuration de l'objet.
Intérieurement, data class contient des propriétés déclarées dans le constructeur primaire, et des méthodes d'accès sont générées pour elles. Cela évite le code répétitif et facilite le travail avec ces classes en toute sécurité.
Exemple:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)
println(user1 == user2) // false
val (name, age) = user1
println(name) // Alice