کلاس های تو در تو در کاتلین به شما اجازه میدهند تا کلاسهایی را در داخل کلاسهای دیگر تعریف کنید. این کار میتواند کد شما را سازماندهیتر و خواناتر کند و همچنین مزایای دیگری نیز دارد. به طور کلی استفاده از 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 :
در این مثال:
staticVariable
وstaticMethod
هستند و بدون نیاز به اشیاءOuterClass
قابل دسترسی هستند.- nonStaticVariable و nonStaticMethod هر دو non-static هستند و برای دسترسی به آنها باید اشیاء OuterClass را ایجاد کنید.
مطالب های کاربردی : آموزش گیت هاب در اندروید استودیو | ساده ترین روش برای اتصال پروژه های اندروید استودیو به GitHub (قدم به قدم)
چه زمانی باید از Nested Classes استفاده کرد:
- زمانی که میخواهید کد خود را سازماندهیتر و خواناتر کنید.
- زمانی که میخواهید از کلاسهای کمکی برای یک کلاس خاص استفاده کنید.
- زمانی که میخواهید الگوهای طراحی را پیادهسازی کنید.
خلاصه مطالب
همانطور که یاد گرفتیم ، زمانی که از کلاس های تو در تو یا Nested Classes استفاده میکنیم ، کد های ما خوانا تر و سازماندهی تر میشود. این نوع کلاس ها به طور کلی به دو نوع Simple Nested Classes که میتواند static, non-static باشد و Inner Classes ها که فقط میتوانند non-static باشند تقسیم میشوند.
بخش دیگری از آموزش مقدماتی کاتلین از سایت کدایت به پایان رسید امیدواریم مطالب مفید واقع شده باشد .
دیدگاهتان را بنویسید