Sobes.tech
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 open ou abstract.
  • 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.