یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی با تخفیف ویژه، فقط با کد AI84 دوره هوش مصنوعی با تخفیف ویژه، فقط با کد AI84
🎯 ثبت نام

آموزش Java – کلاس های تودرتو/inner class در Java

آموزش Java – کلاس های تودرتو/inner class در Java

کلاس های تودرتو (nested class) یا داخلی (inner class) کلاس هایی هستند که خود داخل یک interface یا کلاس دیگر تعریف شده باشند.

از کلاس های تودرتو برای سازمان دهی کلاس ها و interface ها به صورت منطقی در یک مکان واحد استفاده می شود تا بدین وسیله قابلیت نگهداشت (maintainable) و خوانایی کد افزایش یابد.

علاوه بر آن، کلاس های تودرتو می توانند به اعضای کلاس های خارجی و حتی متدها و فیلدهای private آن دسترسی داشته باشند.

دستور تعریف کلاس تودرتو در جاوا به شرح زیر می باشد:

1
2
3
4
5
6
7
class Java_Outer_class{ 
//code 
class Java_Inner_class{ 
//code 
<button></button>

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

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

  1. کلاس های تودرتو یک نوع رابطه ی خاص را پدید می آورند بدین معنی که کلاسی که داخل کلاس دیگر اعلان شده، می تواند به تمامی اعضای کلاس میزبان خود (متغیرها و متدها) حتی فیلدهای private دسترسی داشته باشد.
  2. کلاس های تودرتو به توسعه دهنده کمک می کنند تا با گروه بندی کلاس ها و interface ها به صورت منطقی در یک مکان واحد قابلیت نگهداشت و خوانایی کد را افزایش دهند.
  3. بهینه سازی کد: میزان کدنویسی را کاهش می دهد.

شرح تفاوت میان کلاس nested و inner در Java

Inner class بخشی از nested class یا کلاس های تودرتو می باشد. کلاس های غیر static که داخل کلاس دیگری تعریف شده باشند (nested باشند)، تحت عنوان inner class شناخته می شوند.

انواع کلاس های تودرتو (nested class)

در کل دو نوع کلاس nested یا تودرتو وجود دارد: 1. کلاس های تودرتوی غیر static 2. کلاس های تودرتوی static. کلاس های nested غیر static تحت عنوان inner class نیز شناخته می شوند.

  1. کلاس تودرتوی Non-static (inner class)
    • member inner class (کلاسی که در سطح کلاس دیگر اما خارج از بدنه ی متد تعریف شده باشد)
    • anonymous inner class (کلاس تودرتوی بی نام که برای پیاده سازی interface یا ارث بری از کلاس دیگر بکار می رود)
    • local inner class (کلاسی که داخل بدنه ی متد تعریف شده باشد)
  2. کلاس static تودرتو
    No
    نوع
    شرح
    1
    Member Inner Class
    کلاسی که در سطح کلاس دیگر اما خارج از بدنه ی متد آن تعریف شده باشد.
    2
    Anonymous Inner Class
    کلاسی که برای پیاده سازی interface یا ارث بری از کلاس دیگر تعریف شده باشد. این کلاس فاقد نام بوده و در واقع کامپایلر جاوا در خصوص اسم آن تصمیم می گیرد.
    3
    Local Inner Class
    کلاسی که در بدنه ی متد تعریف شده باشد.
    4
    Static Nested Class
    کلاس static که داخل بدنه ی کلاس دیگر تعریف و گنجانده شده باشد.
    5
    Nested Interface
    یک interface که داخل کلاس یا interface دیگری تعریف شده باشد.
1396/08/03 5781 1498
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...