در زبانهایی مانند جاوا و PHP کلمه کلیدی static وجود دارد که برای تعریف متغیرها و متدهای static مورد استفاده میگیرند اما خاصیت استایتک تعریف کردن متغیر چه کمکی در برنامهنویسی به ما میکند؟ با ما همراه باشید.
در زبان جاوا استاتیک تعریف شدن یک متد در یک کلاس باعث میشود که دیگر نیازی به ساخت یک instance (آبجکتی) از کلاس مورد نظر را نداشته باشیم و بدون وابستگی و صدا زدن constructor، عمل خاصی را برای ما انجام دهد.
همچنین برای استفاده از متغیرهای آن کلاس دیگر نیازی به وجود instance یا شی از آن کلاس را نخواهیم داشت.
در حقیقت کاربرد اصلی استاتیکها در زبان کاتلین، عدم نیاز به ساخت یک instance برای استفاده از متدها و متغیرهای آن کلاس است.
در زبان Kotlin نیز برای ساخت Singletonها و استاتیکها تعبیر بهتری اندیشیده شده است. با این تفاوت که به جای استفاده از کلمه کلیدی static، از کلمه کلیدی object استفاده میکنید و همه متدها و متغیرهای استاتیک خود را در گروه object قرار میدهیم.
اگر کلاس ما فقط حاوی متغیرها و متدهای استاتیک است، پس میتوانیم بجای کلمه کلیدی class، از object استفاده کنیم.
در صورتی که بخواهیم همین کار را در کلاسها انجام دهیم، باید گروه متدها و متغیرهای استاتیک خود را در گروه companion object قرار دهیم.
به مثال زیر توجه کنید:
ممکن است پاسخ سوال شما درباره ویدیوی آموزش Object و Companion Object در کاتلین در اینجا باشد.