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



  • ۱۰
  • فروردین

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

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

      مقدمه

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

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

      در ادامه آموزش کار با Delegation در کاتلین در ابتدا باید اشاره کرد که امکان طراحی الگوی  “delegation” به کمک کلمه کلیدی “by” در این زبان فراهم شده است.
      استفاده از این کلمه کلیدی یا روش Delegation نتیجه خوبی به همراه دارد.
      استفاده از آن به derived کلاس های کاتلین اجازه دسترسی به همه روش های عمومی پیاده سازی یک interface از طریق یک object را می دهد.
      در مثال زیر می توانید وقوع این فرایند را ببینید.

      مثال : 

      در مثال بالا یک interface پایه “Base” با روش انتزاعی با نام ایجاد “()printme” شده است.
      در کلاس BaseImpl این “()printme” اجرا می شود و سپس از یک کلاس دیگر روش اجرایی ای با استفاده از کلمه کلیدی “by” مورد استفاده قرار می گیرد.

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

      مثال : 

      ویژگی های Delegation

      در قسمت قبلی طراحی الگوی Delegation را با استفاده از “by” یاد گرفتیم.
      در این قسمت با کمک کتابخانه کاتلین با ویژگی های Delegation آشنا می شویم.
      Delegation به معنای انتقال مسئولیت به یک کلاس یا متود دیگر است.
      وقتی ویژگی ای در جایی بیان می شود، باید از یک کد مشابه برای مقدار دهی مجدد استفاده کرد.
      در مثال زیر از بعضی از استاندارد های Delegation  که در کتابخانه توابع کاتلین فراهم آمده، استفاده شده است.

      ویژگی ()Using Lazy

      Lazy یک تابع بدون مبدا است.
      بیاید نگاهی به کد زیر بیا اندازیم تا با نحوه کار ان آشنا شویم.

      مثال : 

      در کد بالا، ما یک متغیر “myVar” را به تابع Lazy می دهیم، که در عوض ارزش آن را به object اختصاص می دهد.
      این کار موجب بازگشت تابع اصلی می شود.

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

      مثال : 

      ویژگی Delegetion.Observable()

      ()Observable از دو argument برای مقدار دهی object استفاده می کند و آن را به تابع called function برمی گرداند.
      در مثال زیر نحوه استفاده از ()Observable برای اجرای Delegation را می بینید.

      مثال : 

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

      مثال : 

      به طور کلی سینتکسی که بعد از عبارت بعد “by” آمده است delegated است.
      روش های ()get و ()set متغیر p به روش های ()getValue و ()setValue تعریف شده به کلاس Delegate منتقل می شود.

      مثال : 

      برای قطعه کد بالا، زیر کلاس delegate باید برای ایجاد مقدار در متغیر p ایجاد شود.

      مثال : 

      در هنگام خواندن، روش ()getValue فراخوانی می شود و در هنگام تنظیم متغیر نیز، روش ()setValue فراخوانی می گردد.

      کلام آخر

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

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


      دیدگاه کاربران
      1. تصویر کاربر