You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
kotlin extension functions و معادل آن ها در جاوا #252
آموزش گسترش توابع در کاتلین (kotlin extension function):
گاهی در هنگام برنامهنویسی به یک تابع یا قابلیت خاصی از یک کلاس نیاز پیدا میکنید که ممکن است در آن کلاس وجود نداشته باشد. این کلاس میتواند یکی از کلاسهایی باشد که توسط خود زبان ارائه میشود. برای اضافه کردن آن قابلیت در کلاس چه کاری انجام میدهید؟
راه حل رایج برای رفع این مشکل این است که در پروژهی خود کلاس جدیدی بسازیم که از کلاس مورد نظر ارث بری کند و هر کجا به این ویژگی نیاز پیدا کردیم کلاس توسعه یافتهی خودمان را فراخوانی کرده و از آن استفاده کنیم. راه حل دیگر رفع این مشکل با استفاده از الگوهایی مانند Decorator است که پیچیدگیهای خاص خودش را دارد.
در این مقاله در مورد یکی دیگر از ویژگیهای جدید زبان kotlin به نام “Extension” صحبت خواهیم. با استفاده از گسترش توابع در کاتلین قادر خواهیم بود توابع و قابلیتهای دلخواهمان را به کلاس مورد نظر حتی بدون وراثت و یا اصلاح آنها اضافه و یا حذف کنیم.
extension function:
همانطور که گفتیم برای افزودن یک تابع (function) یا قابلیتهای یکی از کلاسهای ارائه شده توسط زبان کاتلین مانند String و List و Toast و … میتوانیم از ویژگی Extension در این زبان استفاده کنیم. به تابعی که به کلاس موجود اضافه میشود و توسط آن ویژگی جدید به آن کلاس اضافه میشود، تابع گسترش (extension function) میگویند. و کلاس مرجعی که تابع گسترش به آن اضافه شده است Receiver Type نامیده میشود.
Activity
arenshaee commentedon Mar 6, 2021
جاوا بصورت پیشفرض همچین ویژگی ای رو نداره، ولی با استفاده از کتابخونه Lombok و انوتیشن @ExtensionMethod، میشه این امکان رو پیاده سازی کرد.
برای مطالعه بیشتر، این لینک مستندات رسمی خود کتابخونست.
MohsenNooriArdestani commentedon May 14, 2022
آموزش گسترش توابع در کاتلین (kotlin extension function):
گاهی در هنگام برنامهنویسی به یک تابع یا قابلیت خاصی از یک کلاس نیاز پیدا میکنید که ممکن است در آن کلاس وجود نداشته باشد. این کلاس میتواند یکی از کلاسهایی باشد که توسط خود زبان ارائه میشود. برای اضافه کردن آن قابلیت در کلاس چه کاری انجام میدهید؟
راه حل رایج برای رفع این مشکل این است که در پروژهی خود کلاس جدیدی بسازیم که از کلاس مورد نظر ارث بری کند و هر کجا به این ویژگی نیاز پیدا کردیم کلاس توسعه یافتهی خودمان را فراخوانی کرده و از آن استفاده کنیم. راه حل دیگر رفع این مشکل با استفاده از الگوهایی مانند Decorator است که پیچیدگیهای خاص خودش را دارد.
در این مقاله در مورد یکی دیگر از ویژگیهای جدید زبان kotlin به نام “Extension” صحبت خواهیم. با استفاده از گسترش توابع در کاتلین قادر خواهیم بود توابع و قابلیتهای دلخواهمان را به کلاس مورد نظر حتی بدون وراثت و یا اصلاح آنها اضافه و یا حذف کنیم.
extension function:
همانطور که گفتیم برای افزودن یک تابع (function) یا قابلیتهای یکی از کلاسهای ارائه شده توسط زبان کاتلین مانند String و List و Toast و … میتوانیم از ویژگی Extension در این زبان استفاده کنیم. به تابعی که به کلاس موجود اضافه میشود و توسط آن ویژگی جدید به آن کلاس اضافه میشود، تابع گسترش (extension function) میگویند. و کلاس مرجعی که تابع گسترش به آن اضافه شده است Receiver Type نامیده میشود.
مرجع کامل:
https://7learn.com/blog/kotlin-extension-function