Kotlin - Clase sellada
En este capítulo, aprenderemos sobre otro tipo de clase llamada clase “sellada”. Este tipo de clase se utiliza para representar una jerarquía de clases restringida. Sealed permite a los desarrolladores mantener un tipo de datos de un tipo predefinido. Para hacer una clase sellada, necesitamos usar la palabra clave "sellada" como un modificador de esa clase. Una clase sellada puede tener su propia subclase, pero todas esas subclases deben declararse dentro del mismo archivo Kotlin junto con la clase sellada. En el siguiente ejemplo, veremos cómo usar una clase sellada.
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)
}
En el ejemplo anterior, tenemos una clase sellada llamada "MiEjemplo", que puede ser de dos tipos solamente: uno es "OP1" y otro es "OP2". En la clase principal, estamos creando un objeto en nuestra clase y asignando su tipo en tiempo de ejecución. Ahora, como esta clase "MyExample" está sellada, podemos aplicar la cláusula "when" en tiempo de ejecución para implementar la salida final.
En la clase sellada, no necesitamos usar ninguna instrucción "else" innecesaria para completar el código. El fragmento de código anterior producirá el siguiente resultado en el navegador.
option Two has been chosen