کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

کلاس های بسته(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

1397/09/24 1969 759
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...