(Inheritance) مبدأ الوراثة في البرمجة الكائنية

31/03/2020 June 26th, 2021 java, line

اتكلمنا فى شرح سابق ان فى البرمجة الكائنية يوجد مفهومين رئيسين .
هما الكلاس class والكائن object .
وعرفنا ان الكلاس هو التصميم الا يجب عملة فى البداية
اما الكائن هو نسخة من هذا الكلاس .

والسؤال: هو البرنامج الا احنا هنصممة هيحتوى فقط على كلاس واحد او من الممكن انه يحتوى على اكثر من كلاس ؟
طبعا البرنامج ممكن يحتوى على اكثر من كلاس .

سؤال اخر : اثناء تصميم الكلاسات متى نحتاج الى تطبيق مفهوم الوراثة inheritance ؟
ببساطة لو اكتشفت أن البرنامج الا بصممة يوجد بة مجموعة من الكلاسات تشترك فى مجموعة من الصفات ( المتغيرات )
والعمليات ( الدوال )
بدلا من كتابة كل هذة المتغيرات والدوال على مستوى كل كلاس وبالتالى تكرار الكود اكثر من مرة .
بتطبيق مفهوم الوراثة Inheritance يتم تجميع كل المتغيرات والدوال المشتركة فى كلاس واحد يسمى
super class
وعند انشاء اى كلاس يستخدم هذة الدوال والمتغيرات نجعلة يرثها من الكلاس super
وتسمى الكلاسات التى ترث sub classes .

فتكون المحصلة فى النهاية ان عندنا
كلاس الاب يسمى super class بالمتغيرات والدوال وهو الكلاس الذى يتم الوراثة منة
يحتوى على المتغيرات والدوال المشتركة بين مجموعة من الكلاسات.
وكلاسات الابناء تسمى sub classes وهى الكلاسات التى ترث من super
تحتوى على المتغيرات والدوال الخاصة بهم بالاضافة الى المتغيرات والدوال المورثة من super class .
وهنا طبقنا مفهوم الوراثة تمام كما هى مطبقة فى الحياة.

طيب سؤال اخير اية الا احنا هنستفادة لما اقسم البرنامج بالشكل دا ؟
اقولك بعض المزايا
بالاضافة الى تقليل الكود
لو استخدمت دالة فى جميع
sub classes
وحبيت انى اعدل فيها لسبب ما
هكتفى فقط بتعديل الكود فى كلاس super وبالتالى سيتم التعديل مباشرة فى جميع كلاسات الابناء .

تقنيات اعادة استخدام الصفوف بلغة الجافا
في لغة الجافا foreach شرح
سلسلة الشامل بالجافا أساسيات الجافا,البرمجة الموجهة,هياكل البيانات
JSON ما هي ال
أساسيات البرمجة بلغة الجافا
Laravel ماهو
ميزات و عيوب جلاكسي نوت 10 بلس
خوارزميات الفيسبوك لاظهار المنشورات وكيف يميز ما هو الاكثر اهمية
شركة أدوبي تعلن عن إتاحة برنامج أدوبي إكس دي بشكل مجاني
ساعتين يومياً على مواقع التواصل الاجتماعي كافية لإصابتك بهذا المرض
طريقة تغير الاي بي لطابعات الثيرمال
موقع يساعدك على تعلم الكاتبة بسرعة بإستخدام الكبيورد
USB منافذ ال