Sobes.tech
Junior — Middle

Podes enumerar e descrever os construtores disponíveis para a Classe Selada?

sobes.tech IA

Resposta da IA

A classe selada em Kotlin é uma classe que restringe a herança: todas as subclasses devem ser declaradas no mesmo ficheiro.

Quanto aos construtores para classes seladas:

  • A própria classe selada pode ter construtores, como uma classe normal.
  • As subclasses da classe selada podem ter os seus próprios construtores.
  • Normalmente, a classe selada é declarada como abstrata, e o seu construtor pode ser protegido ou público.

Exemplo:

sealed class Result {
    data class Success(val data: String) : Result()
    data class Error(val error: Throwable) : Result()
}

Aqui, a classe selada Result não tem um construtor explícito, mas as subclasses Success e Error têm os seus próprios construtores com parâmetros.

Assim, a classe selada por si só pode ter construtores, mas geralmente são os construtores dos seus herdeiros que importam, pois definem as variantes específicas.