Sobes.tech
Junior — Middle

¿Se pueden crear subclases en data class en Kotlin?

sobes.tech AI

Respuesta de la IA

En Kotlin, las data class por defecto son final, lo que significa que no se pueden heredar. Esto se hace para mantener la semántica y el correcto funcionamiento de los métodos generados automáticamente, como equals(), hashCode() y copy().

Si intentas crear una subclase de data class, el compilador dará un error. Sin embargo, si realmente necesitas, puedes hacer que la clase sea abierta (open), pero entonces no puede ser una data class.

Ejemplo que no compilará:

data class User(val name: String)

class SpecialUser(val id: Int) : User("default") // Error: no se puede heredar de data class

Por lo tanto, no es posible crear subclases de data class.