Sobes.tech
Junior — Middle

Peut-on déterminer l'héritage entre une classe de données et une autre classe?

sobes.tech IA

Réponse de l'IA

En Kotlin, une classe de données (data class) peut hériter d'une autre classe si celle-ci n'est pas final (c'est-à-dire ouverte à l'héritage). Cependant, la classe de données hérite automatiquement de Any et doit avoir au moins un paramètre dans son constructeur.

Important :

  • La classe de données ne peut pas être open ou abstract.
  • L'héritage d'une classe de données est possible, mais la classe de données elle-même ne peut pas être la classe parent (c'est-à-dire qu'on ne peut pas hériter d'une data class).

Exemple :

open class Person(val name: String)

data class Employee(val id: Int, val person: Person) : Person(person.name)

Ainsi, l'héritage entre une data class et une autre classe est possible, mais avec des restrictions, et il est plus courant d'utiliser la composition (l'inclusion d'objets) plutôt que l'héritage pour les classes de données.