💠 کلاس های تو در تو در جاوا
🕗زمان مطالعه: 1:30 دقیقه
🔆 یکی از ویژگی های زبان جاوا، تعریف کلاس ها بصورت تو در تو میباشد. در واقع این قابلیت به شما اجازه میدهد که کلاس های مرتبط به هم را دسته بندی کنید. یا به عبارتی کلاس هایی که فقط در کنار هم استفاده میشوند و استفاده خارجی ندارند (مثلا تعریف کلاس Node داخل کلاس LinkedList). این کار در واقع علاوه بر افزایش کارآمدی کد، به خوانایی کد نیز کمک میکند.
🔅 مزایای استفاده از کلاس های تو در تو:
- کلاس داخلی به اعضای کلاس خارجی نیز دسترسی دارد.
- کلاس داخلی میتواند پرایوت یا حتی استاتیک تعریف شود
- کلاس داخلی خود به گونه ای عضوی از کلاس خارجی است. پس بدون ایجاد نمونه از کلاس خارجی، نمیتوان به آن دست پیدا کرد:
class OuterClass
{
...
class NestedClass
{
...
}
}
🟡 برای نمونه سازی از کلاس داخلی، کافیست اول از کلاس خارجی نمونه ای ایجاد کنید:
OuterClass outer = new OuterClass();
و حالا از طریق نمونه outer اقدام به ایجاد نمونه از کلاس داخلی کنید:
OuterClass.InnerClass inner = o. new InnerClass();
همانطور که پیش تر اشاره کردیم، کلاس داخلی کاملا به کلاس خارجی متصل است. پس بدون ایجاد از نمونه خارجی نمیتوانید از کلاس داخلی هم نمونه ای ایجاد کنید.
🟡 اما درصورتی که کلاس داخلی استاتیک باشد، بدون اینکه نیاز به ساختن نمونه از کلاس خارجی باشد، میتوانید از کلاس داخلی نمونه خود را ایجاد کنید:
OuterClass.InnerClass staticInner = new OuterClass.InnerClass();
🔺 ضمنا کلاس استاتیک به راحتی به اعضای استاتیک کلاس خارجی دسترسی دارد اما برای دسترسی به باقی اعضا، حتما باید از کلاس خارجی در این کلاس یک نمونه ایجاد کنید.
🔰 مثال از کلاس های تو در تو:
class Car{
class Engine{
}
}
——-——
class LinkedList{
class Node{
}
}
———
#innerClasses #staticClasses #Class #nested #nestedClasses
〽️ @PieceJava
🕗زمان مطالعه: 1:30 دقیقه
🔆 یکی از ویژگی های زبان جاوا، تعریف کلاس ها بصورت تو در تو میباشد. در واقع این قابلیت به شما اجازه میدهد که کلاس های مرتبط به هم را دسته بندی کنید. یا به عبارتی کلاس هایی که فقط در کنار هم استفاده میشوند و استفاده خارجی ندارند (مثلا تعریف کلاس Node داخل کلاس LinkedList). این کار در واقع علاوه بر افزایش کارآمدی کد، به خوانایی کد نیز کمک میکند.
🔅 مزایای استفاده از کلاس های تو در تو:
- کلاس داخلی به اعضای کلاس خارجی نیز دسترسی دارد.
- کلاس داخلی میتواند پرایوت یا حتی استاتیک تعریف شود
- کلاس داخلی خود به گونه ای عضوی از کلاس خارجی است. پس بدون ایجاد نمونه از کلاس خارجی، نمیتوان به آن دست پیدا کرد:
class OuterClass
{
...
class NestedClass
{
...
}
}
🟡 برای نمونه سازی از کلاس داخلی، کافیست اول از کلاس خارجی نمونه ای ایجاد کنید:
OuterClass outer = new OuterClass();
و حالا از طریق نمونه outer اقدام به ایجاد نمونه از کلاس داخلی کنید:
OuterClass.InnerClass inner = o. new InnerClass();
همانطور که پیش تر اشاره کردیم، کلاس داخلی کاملا به کلاس خارجی متصل است. پس بدون ایجاد از نمونه خارجی نمیتوانید از کلاس داخلی هم نمونه ای ایجاد کنید.
🟡 اما درصورتی که کلاس داخلی استاتیک باشد، بدون اینکه نیاز به ساختن نمونه از کلاس خارجی باشد، میتوانید از کلاس داخلی نمونه خود را ایجاد کنید:
OuterClass.InnerClass staticInner = new OuterClass.InnerClass();
🔺 ضمنا کلاس استاتیک به راحتی به اعضای استاتیک کلاس خارجی دسترسی دارد اما برای دسترسی به باقی اعضا، حتما باید از کلاس خارجی در این کلاس یک نمونه ایجاد کنید.
🔰 مثال از کلاس های تو در تو:
class Car{
class Engine{
}
}
——-——
class LinkedList{
class Node{
}
}
———
#innerClasses #staticClasses #Class #nested #nestedClasses
〽️ @PieceJava
👍7❤1