0

Kotlin - Sealed Classes

Isaias Bueno
Isaias Bueno

Esse tipo de classe é utilizada para representar restrições para hierarquia de heranças. Quando um valor pode ter um dos tipos limitados de um subtipo, mas não pode ter qualquer tipo dentro da herança. É como se fosse um Enum para classes, uma vez que o domínio é restrito. A diferença básica é que Enum são singletons (só possui uma instância).


Uma classe selada pode ter subclasses mas todas elas precisam ser declaradas no mesmo arquivo da classe em questão. Exemplo:


sealed class Expr

data class Const(val number: Double) : Expr()

data class Sum(val e1: Expr, val e2: Expr) : Expr()

object NotANumber : Expr()


Esse tipo de classe é abstrata e não pode ser instanciada diretamente. Pode ter membros abstractos. Por serem abstratas não podem ter construtores não privados. Construtores são privados por padrão.


Por hoje é só pessoal, sucesso nos estudos!

0
0

Comentários (2)

0
Andressa Costa

Andressa Costa

04/05/2021 13:36

Muito bem! Seguindo...

1
Fernando Aguiar

Fernando Aguiar

10/04/2021 01:45

Parabéns, Isaias Bueno!

Gostei da sua colocação a respeito da Sealed Classes.


Me siga no GitHub. Clique aqui.

Desenvolvedor Android|Kotlin

Brasil