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.