Java Inheritance oop part 6
الكاتب: Mr.Aziz
تاريخ النشر: 2022-04-11 18:10:23
مساء الخير
اليوم بنتكلم عن نوع من oop الى هو Inheritance في اللغة جافا
الى ماشاف الدروس السابقة انصحه يشوفه من part واحد الى اخر part لانه جايه بالترتيب.
طيب ماهو Inheritance؟
يتم أستخدام كلاس معين و يتم استدعاء المتغير او method من كلاس اخر تكون تابع له
طبعآ في نوع ثاني اسمه Polymorphism يشبه له تمامآ ولكن يتم عمل بشكل متعدد و لاتقلق سوف اشرح عنها المره القادمة بأذن الله.
له صنفين الي هم
- SuperClass (parent): هو أساس الكلاس يتم عمل أو بداء Inherited من هذا كلاس.
- Subclass (child): يتم استدعاء الكلاس الي جاي من Superclass
مثلآ في هذي الصوره عن suberclass الى هو محركات ولكن بأصناف متنوعه في subclass هو سوا سفن او طائرات او قطار او سيارات الخ...
بعطيكم مثال:
أفرض انا عندي محركات متنوعة منها سفن و دبابات و سيارات و طائرات
بعدين جاني شخص قال ابي سيارات! قلت طيب اي نوع من السيارات؟ قال ابي مثلآ نيسان مكسيما
هذا نوع من تصنيف
أول شي المحركات أو Vehicle يتصنف superclass لانه يعتبر هو ألاب أو الاساس الكلاس.
ثاني أنواع المحركات مثلآ السيارات هو subclass child تابع لل Superclass
وهكذا
في اللغة جافا بيكون بهذي طريقة
أول شي نعمل superclass الى هو الاب ونعمل كلاس بأسم Vehicle
بهذي طريقة
أول شي عملنا كلاس بأسم vehicle
ثم عملنا نوع protected لانه مثل private و public
ولكن ماهو protected ؟ هو
يمكن الوصول للمتغيرات او الدوال من داخل الصف , من الصفوف المشتقة.
ألان كتبنا فقط Superclass الى هو ألاب تمام
نجي Subclass
نعمل زي كذا
تحت كلاس التي تم أنشاءه
نكتب كلاس جديد بأسم او صفن جديد السيارات ليش؟ لانه نوع من أنواع المحركات هي السيارات
ثم نكتب Extends آي يتم استدعاء او عمل inherit من كلاس المحركات
ثم نكتب اسم كلاس المحركات التي كتبناه من قبل
و بالداخل الاقواس {} نكتب اكواد الى يكون تابع الاب
مثلآ انا كتبت في Vehicle نوع السياره هي نيسان Nissan ثم كتبت تحت كلاس car موديل السياره Nissan هي Maxima
الان نجي في main كيف يجي طريقة استدعاءه؟
بهذي طريقة
كتبنا أسم الكلاس التي تم عمل inherit عليه الى هو car لانه car بيكون تابع للمين؟ أيوه تابع vehicle
طيب تذكر عشان نقدر نطبع الي موجود في private تحتاج تعمل get و set بشكل بسيط زي ماشرحت المره السابقة
انا كتبت كذا
نجي ألان أمر الطباعة
خلونا نطبع نوع السياره مع الموديل بنفس الوقت في main
تعالو نشوف
بالامر الطباعة كتبنا المتغير الي موجود في الكلاس المحركات Vehicle ثم كتبنا الميثود الي موجود في كلاس car بنفس الوقت
و طبع لنا Nissan Maxima
هذي طريقة Inheritance بشكل عام اي شي من superclass يكون تابع له subclass
و ممكن يتم استخدام methods أو المتغيرات لامانع ولكن الي يهم فكرة Inheritance بشكل عام
أشوفكم على خير