Kotlin-sealed-class

提供:Dev Guides
移動先:案内検索

コトリン-シールドクラス

この章では、「Sealed」クラスと呼ばれる別のクラスタイプについて学習します。 このタイプのクラスは、制限されたクラス階層を表すために使用されます。 Sealedを使用すると、開発者は事前定義された型のデータ型を維持できます。 シールドクラスを作成するには、そのクラスの修飾子としてキーワード「sealed」を使用する必要があります。 シールクラスには独自のサブクラスを設定できますが、これらのすべてのサブクラスは、シールクラスとともに同じKotlinファイル内で宣言する必要があります。 次の例では、封印されたクラスの使用方法を確認します。

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

上記の例では、「MyExample」という名前の1つの封印されたクラスがあり、2つのタイプのみが可能です。1つは「OP1」、もう1つは「OP2」です。 メインクラスでは、クラスでオブジェクトを作成し、実行時にその型を割り当てます。 これで、この「MyExample」クラスが封印されると、実行時に「when」句を適用して最終出力を実装できます。

シールドクラスでは、コードを複雑にするために不要な「else」ステートメントを使用する必要はありません。 上記のコードは、ブラウザに次の出力を生成します。

option Two has been chosen