Sobes.tech
Junior — Middle

É possível criar subclasses de data class em Kotlin?

sobes.tech IA

Resposta da IA

No Kotlin, as data class são por padrão final, ou seja, não podem ser herdadas. Isto é feito para manter a semântica e o funcionamento correto dos métodos gerados automaticamente, como equals(), hashCode() e copy().

Se tentar criar uma subclasse de data class, o compilador irá gerar um erro. No entanto, se for realmente necessário, pode tornar a classe open, mas então ela não pode ser uma data class.

Exemplo que não compilará:

data class User(val name: String)

class SpecialUser(val id: Int) : User("default") // Erro: não é possível herdar de data class

Assim, não é possível criar subclasses de data class.