آموزش Object و Companion Object در کاتلین

آموزش Object و Companion Object در کاتلین

تمام ویدیوهای دوره رایگان آموزش صفر تا صد برنامه‌نویسی کاتلین (Kotlin)
آموزش مفاهیم اولیه و نصب نرم‌افزار‌های مورد نیاز
آشنایی با مباحث پایه برنامه‌نویسی
آموزش شرط‌ها در کاتلین
آموزش حلقه‌ها (Loops) و آرایه‌ها در کاتلین
یادگیری عمیق‌تر
آموزش کار با توابع
آموزش شی‌گرایی در کاتلین
مفهوم وراثت در شی‌گرایی
آرایه‌ها و لیست‌های داینامیک
ورود عمیق‌تر به دانش کاتلین

در زبان‌هایی مانند جاوا و PHP کلمه کلیدی static وجود دارد که برای تعریف متغیر‌ها و متد‌های static مورد استفاده می‌گیرند اما خاصیت استایتک تعریف کردن متغیر چه کمکی در برنامه‌نویسی به ما می‌کند؟ با ما همراه باشید.

 

متغیر/متد استاتیک (static) در زبان جاوا

در زبان جاوا استاتیک تعریف شدن یک متد در یک کلاس باعث می‌شود که دیگر نیازی به ساخت یک instance (آبجکتی) از کلاس مورد نظر را نداشته باشیم و بدون وابستگی و صدا زدن constructor، عمل خاصی را برای ما انجام دهد.

همچنین برای استفاده از متغیر‌های آن کلاس دیگر نیازی به وجود instance یا شی از آن کلاس را نخواهیم داشت.

در حقیقت کاربرد اصلی استاتیک‌ها در زبان کاتلین، عدم نیاز به ساخت یک instance برای استفاده از متد‌ها و متغیر‌های آن کلاس است.

 

object در زبان کاتلین

در زبان Kotlin نیز برای ساخت Singleton‌ها و استاتیک‌ها تعبیر بهتری اندیشیده شده است. با این تفاوت که به جای استفاده از کلمه کلیدی static، از کلمه کلیدی object استفاده می‌کنید و همه متد‌ها و متغیر‌های استاتیک خود را در گروه object قرار می‌دهیم.

اگر کلاس ما فقط حاوی متغیر‌ها و متد‌های استاتیک است، پس میتوانیم بجای کلمه کلیدی class، از object استفاده کنیم.

در صورتی که بخواهیم همین کار را در کلاس‌ها انجام دهیم، باید گروه متد‌ها و متغیر‌های استاتیک خود را در گروه companion object قرار دهیم.

 

به مثال زیر توجه کنید:

import java.net.URL object HelperString { fun simplify(str: String):String { return str.substring(1) } fun isValidURL(urlString: String): Boolean { return try { val url = URL(urlString) url.toURI() true } catch (exception: Exception) { false } } }
fun main() { println(HelperString.simplify("09164326745")) println(HelperString.isValidURL("https://stacklearn.ir")) }

 

سوالات رایج

ممکن است پاسخ سوال شما درباره ویدیوی آموزش Object و Companion Object در کاتلین در اینجا باشد.

یک Object declaration در داخل یک کلاس یک موضوع را بیان می‌کند: companion object. از نظر نحوی شبیه به روش‌های استاتیک (static) در جاوا است: شما اعضای شی را با استفاده از نام کلاس آن به‌عنوان یک واجد شرایط فراخوانی می‌کنید. اگر قصد دارید از یک شیء همراه در Kotlin استفاده کنید، به جای آن از یک تابع در سطح بسته استفاده کنید.

در کاتلین شما کلمه کلیدی object را نیز دارید. برای به دست آوردن یک نوع داده با یک پیاده سازی استفاده می‌شود. اگر کاربر جاوا هستید و می‌خواهید معنی «single» را بفهمید، می‌توانید به الگوی Singleton فکر کنید: این به شما اطمینان می‌دهد که فقط یک نمونه از آن کلاس ایجاد می‌شود، حتی اگر 2 رشته سعی کنند آن را ایجاد کنند.

companion object نحوه تعریف متغیر‌ها و متد‌های استایتک در یک کلاس کاتلین است.
ارسال نظر :
پاسخ به