فصل 6_بخش هشتم:انواع کلاس داخلی(inner and instade)و کلاس ناشناخته
از آنجا که class وobject مربوط به مدل سازی از دنیای بیرون است بیایید برای توضیح مطلب بالا از مثال مدل سازی اتم شروع کنیم :
به عنوان مثال اتم به عنوان نام کلاس اصلی (outer) در نظر می گیریم و الکترون و پروتون و نوترون را به صورت کلاس instead (کلاس داخلی تر) در نظر می گیریم
که هرکدام از این کلاس ها زیر مجموعه کلاس insted جداگانه دارند (ذرات زیر اتمی) حالا هرگاه فقط در اطلاعاتی که می خواهیم استخراج کنیم به وسیله object که در فایل main بود. و می خواهیم تنها اطلاعات پروتون را مشاهده کنیم و این اطلاعات را می خواهیم به صورت مستقل ارائه دهیم
نباید از کلید واژه inner. قبل از لغت class مربوط به الکترون استفاده کنیم.
و اگر اطلاعات اتم را نیز می خواهیم استخراج کنیم و مرتبط اش کنیم به اطلاعات کلاس درونی مثلا پروتون بایستی کلید واژه inner را قبل از آن بیا وریم.
کار کلید واژه inner به طور خلاصه :
کلاس بالا دستی که در آن قرار دارد را مجبور می کند از آن آبجکت ساخته شود بدین ترتیب می توانیم هم به متد ها و آبجکت های کلاس بیرونی دسترسی داشته باشیم و هم به آبجکت ها و کلاس های درونی.
و اگر از آن استفاده نشود می توان بدون ساخت کانستراکتور از کلاس بیرونی به کلاس درونی یعنی متد ها وinjection هایش دسترسی داشته باشیم و برای این منظور آن را کانستراکتور دار می کنیم.
مطلب بعدی :کلاس ناشناخته(anonymous class) :
هنگامی که می خواهیم از یک اینترفیس ارث بری کنیم توسط یک object می بایست ابتدا مثل کلاس از آن ارث بری کنیم سپس کلید واژه object را می نویسیم سپس دوباره از آن اینترفیس ارث بری می کنیم سپس آکولاد باز و بسته را می گذاریم و تمامی
فیلد ها و متد ها را مقدار دهی می کنیم.
سپس هر فیلد و متدی که خواستیم صدا می زنیم.
به شکل های زیر با دقت نگاه کنید:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''