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
openniabstract. - 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.