Junior — Middle
É possível determinar a herança entre uma classe de dados e outra classe?
sobes.tech IA
Resposta da IA
No Kotlin, uma classe de dados (data class) pode herdar de outra classe se esta não for final (ou seja, aberta à herança). No entanto, a classe de dados herda automaticamente de Any e deve ter pelo menos um parâmetro no construtor.
Importante:
- A classe de dados não pode ser
openouabstract. - A herança de uma classe de dados é possível, mas a própria classe de dados não pode ser o pai (ou seja, não se pode herdar de uma data class).
Exemplo:
open class Person(val name: String)
data class Employee(val id: Int, val person: Person) : Person(person.name)
Assim, a herança entre uma data class e outra classe é possível, mas com restrições, e geralmente é preferível usar composição (inserção de objetos) ao invés de herança para classes de dados.