Junior — Middle
Que restrições existem ao herdar de uma data class em Kotlin?
sobes.tech IA
Resposta da IA
Em Kotlin, a data class tem várias restrições na herança:
- A
data classnão pode ser aberta (open), ou seja, não é possível herdar dela diretamente. - O compilador gera automaticamente métodos
equals(),hashCode(),toString(), bem comocopy()e funções para destruição, o que dificulta uma herança correta. - Se for necessário expandir a funcionalidade, geralmente cria-se uma classe normal que contém uma
data classcomo campo, ou usa-se composição.
Portanto, a herança de data class em Kotlin não é suportada, e isso é feito para manter a semântica e a correção do código gerado automaticamente.