Sobes.tech
Junior — Middle

¿Es posible declarar un heredero en una data class en Kotlin?

sobes.tech AI

Respuesta de la IA

En Kotlin, una data class por defecto no puede ser heredada, ya que se declaran automáticamente como final. Esto se hace para garantizar el correcto funcionamiento de los métodos generados, como equals(), hashCode() y copy().

Si intentas declarar una clase que herede de una data class, el compilador dará un error.

Sin embargo, si realmente es necesario, se puede hacer que una data class sea abierta añadiendo el modificador open, pero esto no se recomienda ni se soporta directamente, ya que una data class no puede ser open.

Ejemplo que no compilará:

data class User(val name: String)

class AdminUser(val adminLevel: Int) : User("Admin") // Error

Por lo tanto, heredar de una data class en Kotlin es imposible.