Kotlin - Classe Selada

Neste capítulo, aprenderemos sobre outro tipo de classe chamada classe “Selada”. Este tipo de classe é usado para representar uma hierarquia de classes restrita. Selado permite que os desenvolvedores mantenham um tipo de dados de um tipo predefinido. Para fazer uma classe selada, precisamos usar a palavra-chave “selada” como um modificador dessa classe. Uma classe selada pode ter sua própria subclasse, mas todas essas subclasses precisam ser declaradas dentro do mesmo arquivo Kotlin junto com a classe selada. No exemplo a seguir, veremos como usar uma classe selada.

sealed class MyExample {
   class OP1 : MyExample() // MyExmaple class can be of two types only
   class OP2 : MyExample()
}
fun main(args: Array<String>) {
   val obj: MyExample = MyExample.OP2() 
   
   val output = when (obj) { // defining the object of the class depending on the inuputs 
      is MyExample.OP1 -> "Option One has been chosen"
      is MyExample.OP2 -> "option Two has been chosen"
   }
   
   println(output)
}

No exemplo acima, temos uma classe lacrada chamada “MyExample”, que pode ser de apenas dois tipos - um é “OP1” e outro é “OP2”. Na classe principal, estamos criando um objeto em nossa classe e atribuindo seu tipo em tempo de execução. Agora, como essa classe “MyExample” está selada, podemos aplicar a cláusula “when” em tempo de execução para implementar a saída final.

Na classe selada, não precisamos usar nenhuma instrução “else” desnecessária para complexar o código. O trecho de código acima produzirá a seguinte saída no navegador.

option Two has been chosen