Sobes.tech
Junior — Middle

Quelle est la différence entre une data class et une classe standard dans un langage de programmation?

sobes.tech IA

Réponse de l'IA

Dans le langage Kotlin (Android), une classe de données (data class) est une classe spéciale conçue pour stocker des données. La principale différence avec une classe ordinaire est que le compilateur génère automatiquement plusieurs méthodes utiles pour la data class :

  • equals() et hashCode() pour comparer des objets par leur contenu,
  • toString() avec une sortie informative,
  • copy() pour créer des copies avec des champs modifiés,
  • des composants (component1(), component2(), etc.) pour la destructuration.

Une classe ordinaire n'a pas ces méthodes par défaut, il faut les écrire manuellement si nécessaire.

Exemple de data class :

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)

Ainsi, la data class est pratique pour les modèles de données où la simplicité et la comparaison correcte des objets sont importantes.