مشخصات مقاله
-
759
-
0.0
-
1969
-
0
-
0
کلاس های بسته(Sealed Class) در Kotlin
کلاسهای بسته در Kotlin
در این بخش به نوع دیگری از کلاسها به نام کلاسهای بسته میپردازیم. جهت نشان دادن یک سلسلهمراتب کلاسی محدود از این نوع از کلاسها استفاده میشود. برنامه نویسان با کمک این کلاسها میتوانند نوع دادهی یک نوع از پیش تعریف شده را حفظ کنند. برای آنکه بتوانید این نوع از کلاسها را ایجاد کنید باید بهصورت اصلاحکنندهای از این کلاس از واژهی کلیدی 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 بهصورت بسته است که تنها میتواند دو نوع OP1 و OP2 را داشته باشد. در کلاس main داخل کلاس خود شیئی را ایجاد کردهایم و نوع آن را در زمان اجرا تخصیص میدهیم. حالا با توجه به اینکه کلاس MyExample بسته است، میتوانیم در زمان اجرا عبارت when را اعمال کنیم تا بتوانیم نتیجهی نهایی را پیادهسازی کنیم.
در کلاسهای بسته نیازی به استفاده از دستور else نیست. چرا که این کار صرفاً کد شما را پیچیده میکند. نتیجهی کد بالا در زیر نشان داده شده است.
option Two has been chosen