Sobes.tech
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.