بايثون - Overriding

مفهوم إعادة التعريف

في الدرس السابق، تعلمنا كيفية جعل الكلاس يرث المتغيرات و الدوال الموجودة في كلاس آخر بالإضافة إلى إخفاء البيانات في الكلاس الأب حتى لا يحدث تضارب في الأسماء.

إعادة التعريف أو التعريف من جديد ( Overriding ) تعني أن يقوم الكلاس الإبن بإعادة تعريف نفس الدالة التي ورثها من الكلاس الأب. الدالة الجديدة تكون مشابهة للدالة الموروثة من حيث الشكل فقط، أي تملك نفس الإسم و عدد الباراميترات لكن محتواها مختلف.

الهدف الحقيقي من إعادة التعريف هو إتاحة الفرصة للكلاس الإبن ليعرّف الدوال حسب حاجته.

في دروس لاحقة، سنرث من كلاسات جاهزة في بايثون و نقوم بإعادة تعريف الدوال التي نرثها لكي تناسب التطبيقات التي نبنيها.


شروط إعادة التعريف

  • لا يمكن إعادة تعريف دالة معرّفة بالأساس بشكل خفي.
  • عدد و نوع باراميترات الدالة الجديدة يجب أن يطابق عدد و نوع باراميترات الدالة القديمة.

عدم تحقق هذين الشرطين يجعل مفسر بايثون يفهم أننا نريد إضافة دالة جديدة في الكلاس الإبن و ليس إعادة تعريف الدالة التي ورثها في الأصل من الكلاس الأب.

جاهز لرحلة التحدي؟

قم بتوليد تمارين لا نهائية بشكل تدريجي (10 في كل مرة) بناءً على هذا الدرس. كل تمرين مصمم لرفع مستوى تفكيرك المنطقي.