Ferramentas

Kodebits Dia 57: Quando com Classe Sealed | Kodeco

O Kodebits Day 57 explora o uso de sealed class em Kotlin com uma demonstração que imprime '10' quando chamada a função tag com Ok(5). A explicação mostra como as classes seladas garantem que todas as subclasses sejam conhecidas, permitindo verificação de tratamento exaustivo durante a compilação.

Compartilhar
Kodebits Day 57: When With Sealed Class | Kodeco

O que isso imprime?

sealed class Res
 data class Ok(val n: Int) : Res()
 data object Err : Res()

 fun tag(r: Res) = when (r) {
   is Ok -> r.n * 2
   Err -> 0
 }
fun main() {
  println(tag(Ok(5)))
}

Tente no playground online do Kotlin →

[spoiler title="Solução"]

Resposta:

10

Explicação:

Classes sealed restringem a herança a subclasses conhecidas, permitindo que expressões when verifiquem o tratamento exaustivo em tempo de compilação.

[/spoiler]


Leitura Adicional

Fonte original

Conteúdo traduzido e adaptado pela redação do Notícias Mobile. Confira também a matéria na fonte original.

Leia a matéria completa