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 بشكل عام

 

أشوفكم على خير