Nested Classes در کاتلین | آموزش مقدماتی کاتلین | درس هجدهم

کلاس‌ های تو در تو  در کاتلین به شما اجازه می‌دهند تا کلاس‌هایی را در داخل کلاس‌های دیگر تعریف کنید. این کار می‌تواند کد شما را سازماندهی‌تر و خواناتر کند و همچنین مزایای دیگری نیز دارد. به طور کلی استفاده از Nested Classes در کاتلین باعث بهتر شدن و واضح شدن کد نویسی شما می‌شود. ما دونوع از کلاس های تو در تو داریم که در قسمت پایین به شرح هر کدام می‌پردازم.

Nested Classes در کاتلین

Nested Classes در کاتلین

انواع کلاس‌ های تو در تو یا Nested Classes

دو نوع کلاس تو در تو در کاتلین وجود دارد:

1. کلاس‌ های تو در تو ساده (Simple Nested Classes):

  • می‌توانند static یا non-static باشند.
  • به اعضای خصوصی کلاس خارجی دسترسی دارند.
  • برای تعریف آن‌ها از کلمه کلیدی class استفاده می‌شود.

2. کلاس‌ های تو در تو داخلی (Inner Classes):

  • فقط non-static هستند.
  • به اعضای خصوصی کلاس خارجی و همچنین متغیرهای محلی و پارامترهای متد در کلاس خارجی دسترسی دارند.
  • برای تعریف آن‌ها از کلمه کلیدی inner class استفاده می‌شود.

مطالب مرتبط : شی گرایی در برنامه نویسی چیست ؟ | آموزش مقدماتی کاتلین | درس 17ام

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

  • سازماندهی کد: کلاس‌های تو در تو می‌توانند به شما کمک کنند تا کد خود را به بخش‌های کوچکتر و قابل مدیریت‌تر تقسیم کنید.
  • خوانایی کد: استفاده از کلاس‌های تو در تو می‌تواند کد شما را خواناتر و قابل فهم‌تر کند.
  • قابلیت استفاده مجدد: می‌توانید از کلاس‌های تو در تو برای ایجاد کلاس‌های کمکی استفاده کنید که فقط برای یک کلاس خاص مفید هستند.

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

مثالی از نحوی استفاده از کلاس های تو در تو در زبان برنامه کاتلین :

مثالی از کلاس‌ های تو در تو در زبان برنامه نویسی کاتلین

مثالی نحوی استفاده از کلاس های تو در تو

 

در قسمت بالا ما از کلمه Static یا Non-static استفاده کردیم که تعریف این دو به صورت زیر است.

Static:

  • ایجاد: اشیاء کلاس static فقط یک بار در حافظه ایجاد می‌شوند و نیازی به ایجاد اشیاء جدید برای هر بار استفاده از کلاس نیست.
  • دسترسی: اشیاء کلاس static از طریق نام کلاس بدون نیاز به اشیاء خارجی قابل دسترسی هستند.
  • موارد استفاده: برای کلاس‌هایی که فقط شامل متدهای static و متغیرهای static هستند و نیازی به ایجاد اشیاء جداگانه برای هر بار استفاده ندارند، مناسب است.

Non-static:

  • ایجاد: هر بار که به کلاس نیاز دارید، باید یک شیء جدید از آن ایجاد کنید.
  • دسترسی: اشیاء کلاس non-static از طریق اشیاء کلاس خارجی قابل دسترسی هستند.
  • موارد استفاده: برای کلاس‌هایی که شامل متدها و متغیرهای non-static هستند و نیاز به ایجاد اشیاء جداگانه با حالات مختلف دارند، مناسب است.

یک مثال ساده از نحوی استفاده از Static یا Non-static :

یک مثال ساده از نحوی استفاده از Static یا Non-static :

یک مثال ساده از نحوی استفاده از Static یا Non-static :

نحوی استفاده ازstatic , Non-static در کلاس های کاتلین

در این مثال:

  • staticVariable و staticMethod هستند و بدون نیاز به اشیاء OuterClass قابل دسترسی هستند.
  • nonStaticVariable و nonStaticMethod   هر دو non-static هستند و برای دسترسی به آنها باید اشیاء OuterClass را ایجاد کنید.

مطالب های کاربردی : آموزش گیت هاب در اندروید استودیو | ساده ترین روش برای اتصال پروژه های اندروید استودیو به GitHub (قدم به قدم)

چه زمانی باید از Nested Classes استفاده کرد:

  • زمانی که می‌خواهید کد خود را سازماندهی‌تر و خواناتر کنید.
  • زمانی که می‌خواهید از کلاس‌های کمکی برای یک کلاس خاص استفاده کنید.
  • زمانی که می‌خواهید الگوهای طراحی را پیاده‌سازی کنید.

خلاصه مطالب

همانطور که یاد گرفتیم ، زمانی که از کلاس های تو در تو یا Nested Classes استفاده می‌کنیم ، کد های ما خوانا تر و سازماندهی تر می‌شود. این نوع کلاس ها  به طور کلی به دو نوع Simple Nested Classes که می‌تواند static, non-static باشد و Inner Classes  ها که فقط می‌توانند non-static  باشند تقسیم می‌شوند.

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

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

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

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

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