Kotlin - Classe sigillata

In questo capitolo, impareremo un altro tipo di classe chiamato classe "Sealed". Questo tipo di classe viene utilizzato per rappresentare una gerarchia di classi limitata. Sealed consente agli sviluppatori di mantenere un tipo di dati di un tipo predefinito. Per creare una classe sealed, dobbiamo utilizzare la parola chiave "sealed" come modificatore di quella classe. Una classe sealed può avere la propria sottoclasse, ma tutte quelle sottoclassi devono essere dichiarate all'interno dello stesso file Kotlin insieme alla classe sealed. Nel seguente esempio, vedremo come utilizzare una classe sealed.

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)
}

Nell'esempio precedente, abbiamo una classe sigillata denominata "MyExample", che può essere di due soli tipi: una è "OP1" e un'altra è "OP2". Nella classe principale, stiamo creando un oggetto nella nostra classe e assegnandone il tipo in fase di esecuzione. Ora, poiché questa classe "MyExample" è sigillata, possiamo applicare la clausola "when" in fase di esecuzione per implementare l'output finale.

Nella classe sealed, non è necessario utilizzare alcuna istruzione "else" non necessaria per rendere più complesso il codice. La parte di codice precedente produrrà il seguente output nel browser.

option Two has been chosen