اشیا Companion در برنامه نویسی کاتلین

4 سال پیش
اشیا Companion در برنامه نویسی کاتلین

اشیا Companion در برنامه نویسی کاتلین

در این درس از مجموعه درس های آموزش برنامه نویسی سایت سورس باران، شما اشیا Companion در برنامه نویسی کاتلین را با کمک مثالهایی می آموزید.

قبل از استفاده از اشیا Companion در کاتلین، بیایید برای دسترسی به اعضای یک کلاس مثالی بزنیم.

class Person {
    fun callMe() = println("I'm called.")
}

fun main(args: Array<String>) {
    val p1 = Person()
    
    // calling callMe() method using object p1
    p1.callMe()    
}

 

در این مثال، ما یک شی p1 از کلاس Person برای فراخوانی متد ()callMe  ایجاد کردیم. به طور معمول همه چیز کار می کند.

با این حال، در کاتلین می توانید با استفاده از نام کلاس، یعنی Person در این حالت، متد ()callMe  را نیز فراخوانی کنید. برای این منظور ، باید یک علامت همراه با علامت گذاری اعلان شی با کلمه کلیدی همراه ایجاد کنید. برای این کار باید یک شی Companion را با استفاده از کلید واژه companion روی اعلان شی ایجاد کنید.

مثال: اشیا Companion در کاتلین

class Person {
    companion object Test {
        fun callMe() = println("I'm called.")
    }
}

fun main(args: Array<String>) {
    Person.callMe()
}

 

در کد بالا، اعلان شی Test با کلیدواژه companion نشانه‌گذاری شده است تا یک شی companion ایجاد شود. از این رو  می توان با استفاده از نام کلاس، متد ()callMe را فراخوانی کرد. به مثال زیر دقت کنید:

Person.callMe()

 

نام شی Companion اختیاری است و می توان آن را حذف کرد.

class Person {
    
    // name of the companion object is omitted
    companion object {
        fun callMe() = println("I'm called.")
    }
}

fun main(args: Array<String>) {
    Person.callMe()
}

 

اگر با جاوا آشنایی دارید، می توانید اشیا companion همراه را با روشهای ایستا مرتبط کنید (حتی اگر نحوه کار آنها در داخل کاملا متفاوت باشد).

اشیا compan همراه می توانند به اعضای خصوصی کلاس دسترسی داشته باشند. از این رو ، می توان از آنها برای پیاده سازی الگوهای  متد فکتوری استفاده کرد.

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی کاتلین

  1. معرفی کاتلین،  Kotlin Hello World – اولین برنامه کاتلین
  2. انواع متغیرهای پایه در کاتلین
  3. عملگرهای برنامه نویسی کاتلین
  4. تبدیل نوع در برنامه نویسی کاتلین
  5. عبارت ها، گزاره ها و بلوک ها در برنامه نویسی کاتلین
  6. کامنت ها در برنامه نویسی کاتلین
  7. ورودی / خروجی پایه در برنامه نویسی کاتلین
  8. عبارت if در برنامه نویسی کاتلین
  9. عبارت when در برنامه نویسی کاتلین
  10. حلقه های while و do … while در برنامه نویسی کاتلین
  11. حلقه for در برنامه نویسی کاتلین
  12. عبارت break در برنامه نویسی کاتلین
  13. عبارت continue در برنامه نویسی کاتلین
  14. توابع در برنامه نویسی کاتلین
  15. فراخوانی تابع میانوندی در برنامه نویسی کاتلین
  16. آرگومان ‌های پیش ‌فرضآرگومان ‌های پیش ‌فرض و نام ‌دار در برنامه نویسی کاتلین
  17. توابع بازگشتی در برنامه نویسی کاتلین
  18. کلاس و شی در برنامه نویسی کاتلین
  19. سازنده ها در برنامه نویسی کاتلین
  20. Getter ها و Setter ها در برنامه نویسی کاتلین
  21. وراثت در برنامه نویسی کاتلین 
  22. مادیفایرهای نمایانی در برنامه نویسی کاتلین
  23. کلاس مجرد در برنامه نویسی کاتلین
  24. اینترفیس های برنامه نویسی کاتلین
  25. کلاس‌ های تودرتو و داخلی در برنامه نویسی کاتلین
  26. کلاس داده در برنامه نویسی کاتلین 
  27. کلاس ‌های Sealed در برنامه نویسی کاتلین
  28. اعلان ها و عبارات شی در برنامه نویسی کاتلین

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه