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.