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