دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۰
  • فروردین

جلسه ۱۱ : آموزش کار با افزونه ها در کاتلین

  • دسته‌بندی‌ها :
جلسه ۱۱ : آموزش کار با افزونه ها در کاتلین
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و کاربرانی که علاقمند به دوره آموزش کاتلین هستند. در جلسه گذشته به آموزش کنترل دید و ویرایشگرهای کاتلین پرداختیم. این جلسه آموزشی به آموزش کار با افزونه ها در کاتلین اختصاص دارد.

      آموزش کار با افزونه ها در کاتلین

      در ادامه جلسه آموزشی کار با افزونه ها در کاتلین قرار است با افزونه ها یا “Extension” که مبحث جدیدی در زبان کاتلین است آشنا شویم.
      یادگیری افزونه ها در کاتلین ما را قادر می سازد که بدون نیاز به inheriting و یا ویرایش آن ها، به حذف یا اضافه کردن روشهای تابع مانند بپردازیم.
      افزونه ها به صورت استاتیک می باشند.
      افزونه ها هیچ گاه کلاس فعلی را اصلاح نمی کنند اما یک تابع ایجاد می کنند که توسط عملیات dot یا dot operation قابل نام گذاری است.

      افزونه تابع یا Function Extension

      در افزونه تابع، کاتلین اجازه می دهد تا یک روش را خارج از کلاس اصلی تعریف کنیم.
      در مثال زیر می بینید که چگونه یک افزونه در سطحی تابع گونه اجرا می شود.

      مثال : 

      در مثال بالا هیچ متودی درون کلاس “Alien”  با عنوان “()addMySkills” وجود ندارد.
      با این وجود می توانیم متود مشابهی را در جایی دیگر، خارج از کلاس مورد نظر اعمال کنیم و این جادوی استفاده از افزونه ها است.

      قطعه کد بالا خروجی زیر را در مرورگر تولید می کند.

      مثال : 

      افزونه object یا Object Extension

      کاتلین قابلیت دیگری نیز برای پیاده سازی قابلیت های جاوا دارد.
      این قابلیت به کمک کلمه کلیدی “companion object” قابل دستیابی است.
      با استفاده از این مکانیزم، می توان یک object از یک کلاس در داخل یک factory method ایجاد کرد.
      سپس با استفاده از مرجع نام کلاس، آن متود را نام گذاری نمود.
      در مثال زیر یک “companion object” ایجاد شده است.

      مثال : 

      قطعه کد بالا خروجی زیر را در مرورگر تولید می کند.

      مثال : 

      مثال بالا شباهت زیادی به استاتیک در جاوا دارد گرچه در real -time یک  object به عنوان یک متغیر عضو از آن کلاس ایجاد می گردد.
      به همین دلیل تحت مالکیت افزونه گنجانده می شود و می توان آن را با عنوان object extension نام گذاری کرد.
      با این کار شما می توانید object یک کلاس مشابه را گسترش بدهید.
      علاوه بر گسترش object، می توانید بعضی از اعضای توابع آن را نیز مورد استفاده قرار دهید.

      کلام آخر

      در آموزش کار با افزونه ها در کاتلین با افزونه ها و دو نوع از کاربردی ترین افزون ها در کاتلین آشنا شدید.
      در جلسه بعد به آموزش کار با Data Classes خواهیم پرداخت.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۱۱ : آموزش کار با افزونه ها در کاتلین
      به اشتراک بگذارید