Sobes.tech
Junior — Middle

Já utilizou sealed class nos seus projetos?

sobes.tech IA

Resposta da IA

Sim, em projetos Kotlin para Android, utilizei sealed class para modelar hierarquias limitadas de estados ou eventos. A sealed class permite definir um conjunto de subclasses que são conhecidas na fase de compilação, o que simplifica o tratamento através de when sem necessidade de escrever um ramo else.

Exemplo de uso de sealed class para descrever estados de carregamento:

sealed class LoadState {
    object Loading : LoadState()
    data class Success(val data: List<String>) : LoadState()
    data class Error(val error: Throwable) : LoadState()
}

fun handleState(state: LoadState) {
    when(state) {
        is LoadState.Loading -> println("A carregar...")
        is LoadState.Success -> println("Dados recebidos: ${state.data}")
        is LoadState.Error -> println("Erro: ${state.error.message}")
    }
}

Isto ajuda a tornar o código mais seguro e legível, especialmente ao trabalhar com estados de UI ou resultados de operações.