Sobes.tech
Junior — Middle

¿Se puede determinar la herencia entre una clase de datos y otra clase?

sobes.tech AI

Respuesta de la IA

En Kotlin, una clase de datos (data class) puede heredar de otra clase si esta no es final (es decir, si es abierta para heredar). Sin embargo, la clase de datos hereda automáticamente de Any y debe tener al menos un parámetro en su constructor.

Importante:

  • La clase de datos no puede ser open ni abstract.
  • Es posible heredar de una clase de datos, pero la clase de datos en sí no puede ser la clase padre (es decir, no se puede heredar de una data class).

Ejemplo:

open class Person(val name: String)

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

De esta forma, la herencia entre una data class y otra clase es posible, pero con restricciones, y generalmente se prefiere la composición (inclusión de objetos) en lugar de la herencia para las clases de datos.