Junior — Middle
Pode explicar como funciona a classe sealed em Kotlin ou numa linguagem semelhante?
sobes.tech IA
Resposta da IA
A classe selada em Kotlin é um tipo especial de classe que restringe a herança. Todas as subclasses de uma classe selada devem ser declaradas no mesmo ficheiro que a própria classe selada. Isto permite ao compilador conhecer todas as possíveis variantes de herdeiros e usá-las, por exemplo, em expressões when, sem necessidade de escrever else.
Exemplo:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
fun handleResult(result: Result) {
when(result) {
is Result.Success -> println("Dados: ${result.data}")
is Result.Error -> println("Erro: ${result.error.message}")
}
}
Esta abordagem ajuda a tornar o código mais seguro e conveniente para lidar com um conjunto limitado de opções.