ماهو inner class و ماهو outer class في جافا oop part 2
الكاتب: Mr.Aziz
تاريخ النشر: 2022-03-26 21:02:50
مساء الخير
اليوم حبيت اشرح كذا كم شغلة قبل مانتعمق في oop بجافا ولا اكيد بتتلخبط بدونها
أول شي راح نشرح ايش هو inner و outer و ايضآ راح نشرح ماهو الفرق بين static و none static و متى يستخدم بالاساس :)
و راح يتم عمل الشرح مع method لانه static و none static تعمل مع method فقط...
الي ماشاف اساسيات oop تفضل شوفها هنا الرابط
نبدء بسم الله
ماهو inner class ؟ هذا النوع ممكن كتابة الكلاسات في داخل الكلاس الاساسي عند تشغيل البرنامج وبالغالب بيكون كلاس Main
طيب ايش هو بضبط
تعالو هنا
تلاحظون هنا عندنا كلاس اساسي اسمه public class Main هذا يتم انشاءه تلقائيآ عند انشاء مشروع او project تمام
راح تلاحظون اني كتبت اسم متغير مع القيمة خارج الكلاس main الي مفترض compiler يبدء يقرءها!! اقصد هنا
public static void main
المهم الكلاس public class Main يسمى Inner class او من الكلاسات الداخلية
وكيف يتم استدعاء المتغيرات التي متواجدة في الكلاس؟ عندك كذا كم طريقة
الي هي Static و nan static الي هو public
ايش هو Static بضبط ؟ هو بأمكاننا عمل استدعاء المتغير من داخل الكلاس من غير مانعمل اوبجكت زي ماشرحت لكم الدرس السابق
ممكن بيكون بهذي طريقة
تلاحظ الان عملنا method داخل inner class بأسم myMethod و داخله عملنا متغير بها قيمة تساوي 5
int x = 5
و داخل main التي يفترض يقرءها compiler فقط وضعنا myMethod الى هو function call
هل ممكن تضبط هذي طريقة؟
نشوف النتيجة
تلاحظ معاي اني وضعت الطباعة المتغير وفعلآ ضبط لانه Static لايحتاج استدعاء او عمل اوبجكت لعطاء الصلاحيات الكلاس Main
الان نجي non static الي هو يعتبر public هنا يحتاج نعطي صلاحيات للكلاس بحيث نستطيع الطباعة المتغير x
هنا نعمل اوبجكت
تتذكرون المره السابقه او موضوع سابق شرحت لكم عن اوبجكت و ليش؟ لانه Main عباره عن none static زي ماوعدتكم اني راح اشرحهها هنا :)
نفس طريقة سابقه لما حطينا public هنا لازم نعمل اوبجكت
بتلاحظ معاي كل شي تغير ولازم نعمل صلاحيات عشان نقدر نستدعي اي متغير او method من خلال الكلاس.
هذا كله فقط في inner class
ولكن outer class كيف بيكون؟؟؟
بيكون بالخارج او خارج Main
هكذا
مثل ماتلاحظون اني أنشأت كلاس اخر بأسم thisClass ونقلت method داخل هذا الكلاس واصبح الان لدينا outer class آي خارج الكلاس الاساسي او public class Main
بنفس طريقة لازم الأستدعاء يكون عن طريق اوبجكت لانه يعتبر هذا كلاس الخارجي
لانه لو تلاحظون معاي مهم ماخليته static أو public ماراح يضبط لانه يعتبر كلاس الخارجي وليس داخلي لهذا السبب يجب عمل اوبجكت بكل حالات.
بهذي طريقة
هذا موضوعنا اليوم عن outer و inner و الفرق بينهم
أتمنى وصلتكم المعلومة لو بقليل
وياليت تنشرونه بكل مكان
واشوفكم على خير