آموزش افزونه نویسی (Extension Function) در کاتلین | آموزش مقدماتی کاتلین | درس 14 ام

با آمزش دیگر از کدایت در خدمت شما عزیزان هستیم. افزونه نویسی (Extension Function) در کاتلین به شما امکان می‌دهد تا توابع جدیدی را به کلاس‌های موجود اضافه کنید، بدون اینکه نیاز به ارث‌بری از آن کلاس یا تغییر کد آن داشته باشید. بعضی مواقع توابعی فقط در یک جا مورد استفاده می‌شود و تعریف کردن آن در کلاس سربار اضافی است و استفاده زیادی از آن نمی‌شود. در این مواقع است که ما با افزونه نویسی یک تابع برای آن در خارج از کلاس به صورت Extension Function تعریف می‌کنیم.

این کار می‌تواند برای موارد زیر مفید باشد:

  • اضافه کردن توابعی که به طور مکرر با یک نوع داده خاص استفاده می‌شوند.
  • اضافه کردن توابعی که به دلیل خصوصی بودن، در دسترس شما نیستند.
  • بهبود خوانایی کد با جدا کردن توابع مربوط به یک نوع داده خاص.

مطالب مرتبط: آموزش مقدماتی کاتلین به صورت جامع و به صورت صفر تا صد

افزونه نویسی (Extension Function) چه مزایایی دارد :

  • خوانایی کد را افزایش می‌دهد: با جدا کردن توابع مربوط به یک نوع داده خاص، کد شما خواناتر و قابل فهم‌تر می‌شود.
  • قابلیت استفاده مجدد کد را افزایش می‌دهد: شما می‌توانید توابع افزونه را در پروژه‌های مختلف به اشتراک بگذارید.
  • نگهداری کد را آسان‌تر می‌کند: با اضافه کردن توابع جدید به کلاس‌های موجود، می‌توانید از ایجاد کلاس‌های جدید و پیچیده جلوگیری کنید.

نکات مهم در مورد افزونه نویسی:

  • توابع افزونه نمی‌توانند به اعضای خصوصی کلاس دسترسی داشته باشند.
  • توابع افزونه نمی‌توانند توابع سازنده یا توابع ثابت را اضافه کنند.
  • توابع افزونه می‌توانند توابع دیگر را با استفاده از کلمه کلیدی super فراخوانی کنند.

مطالب مرتبط : نحوه استفاده از ساختار داده TreeMap در کاتلین | درس دوازدهم | آموزش مقدماتی کاتلین

برای فهم بهتر این موضوع ما یک مثال ساده در قالب کدنویسی برای شما آماده کردیم . فرض کنید ما یک کلاس User داریم که اطلاعات کاربر اعم از نام ، نام خانوادگی ، ایمیل و شماره تماس در آن قرار دارد من در کلاس User هیچ تابع  و سازنده  دیگری ندارم  کد کلاس User را در قسمت پایین مشاهده کنید .

کلاس User برای تعریف اطلاعات اشخاص با استفاده از افزونه نویسی

کلاس User

کد های کلاس User در قسمت بالا مشاهده می‌کنید. حالا ما قرار است با استفاده از  افزونه نویسی (Extension Function) دوتا تابع setValues , getValues در فایل Main خود تعریف کنیم و با کمک این دوتا تابع یکسری عملیات برای کلاس User انجام دهیم .

استفاده از افزونه نویسی (Extension Function) در کلاس Main

ساخت توابعی با افزونه نویسی

افزونه نویسی تابع getValues

افزونه نویسی تابع getValues

در کد بالا ، ما با استفاده از افزونه نویسی (Extension Function) دو تابع setValues و getValues تعریف کردیم و مقدار دهی می‌کنیم .  این دوتابع در داخل کلاس User قرار ندارد و ما بسته به نیازی که اینجا داشتیم تعریف کردیم .

خروجی کد بالا :

خرویجی کد نویسی با Extension Function

خروجی کد بالا

همانطور که مشاهده می‌کنید ما با توابعی که ساختیم کلاس User را مقداردهی کردیم و در آخر نیز خروجی را چاپ کردیم.

 

کد های استفاده شده در آموزش:

مطالب پیشنهادی : آموزش جاوا اسکریپت به صورت مقدماتی تا پیشرفته

برای امتیاز به این نوشته کلیک کنید!
[کل: 3 میانگین: 5]
اشتراک‌گذاری

من فرشید حبیبی هستم، یک برنامه نویس موبایل با بیش از 5 سال تجربه. من علاقه زیادی به برنامه نویسی دارم و در این زمینه به طور مداوم در حال یادگیری و پیشرفت هستم. در حال حاضر، به عنوان یک برنامه نویس اندروید در یک شرکت معتبر مشغول به کار هستم و همچنین یک وبسایت آموزشی به نام کدایت را اداره می کنم. در کدایت، به تولید محتوای آموزشی در مورد برنامه نویسی اندروید و وب می پردازیم. هدف من از ایجاد این وبسایت، کمک به سایر برنامه نویسان اندرویدی برای یادگیری و پیشرفت در این زمینه است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *