الوراثة
تعلّموا إعادة استخدام الوظائف وتوسيعها من خلال الوراثة
الوراثة درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 3 من أصل 6. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 6 دروس في المجموع.
مقدمة إلى الوراثة
مقدمة إلى الوراثة
الوراثة مفهوم أساسي في البرمجة كائنية التوجه (OOP)، وتتيح لصنف (الصنف الفرعي) أن يرث السمات والأساليب من صنف آخر (الصنف الأساسي). وهي تعزز إعادة استخدام التعليمات البرمجية وتجعلها أكثر تنظيمًا.
في هذا الدرس، ستتعلمون كيفية تطبيق الوراثة في Python وفهم فوائدها.

تعريف الصنف الأب
تعريف الصنف الأب
الصنف الأب هو الصنف الأساسي الذي ترث منه الأصناف الأخرى. ويُعرَّف مثل أي صنف آخر:
# Defining a superclass
class Animal:
def speak(self):
print("Animal speaks")إنشاء فئة فرعية
إنشاء فئة فرعية
ترث الفئة الفرعية السمات والأساليب من الفئة الأساسية. لتعريف فئة فرعية، مرّر اسم الفئة الأساسية كمعامل:
# Defining a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")إعادة تعريف الأساليب
إعادة تعريف الأساليب
يمكن للصنف الفرعي إعادة تعريف أساليب الصنف الأساسي لتوفير سلوك محدد:
# Overriding methods in a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")
animal = Animal()
animal.speak() # Outputs: Animal speaks
dog = Dog()
dog.speak() # Outputs: Dog barksاستخدام الدالة <code>super()</code>
استخدام الدالة super()
تتيح لكم الدالة super() استدعاء أساليب الصنف الأساسي من الصنف الفرعي:
# Using super() to call superclass methods
class Dog(Animal):
def speak(self):
super().speak()
print("Dog barks")الوراثة المتعددة
الوراثة المتعددة
تدعم Python الوراثة المتعددة، حيث يمكن للصنف الفرعي أن يرث من أكثر من صنف أساسي واحد:
# Example of multiple inheritance
class Flyer:
def fly(self):
print("Flying")
class Swimmer:
def swim(self):
print("Swimming")
class Duck(Flyer, Swimmer):
passالتحقق من العلاقات بين الفئات
التحقق من العلاقات بين الفئات
يمكنكم التحقق من العلاقات بين الفئات باستخدام الدالتين isinstance() وissubclass().
# Checking class relationships
# Checking if an object is an instance of a class
print(isinstance(Dog(), Dog)) # Outputs: True
# Checking if a class is a subclass of another
print(issubclass(Dog, Animal)) # Outputs: Trueالأخطاء الشائعة في الوراثة
الأخطاء الشائعة في الوراثة
إليك بعض الأخطاء التي ينبغي تجنبها:
- إعادة تعريف الأساليب دون استدعاء
super()عند الحاجة. - الخلط بين ترتيب تحليل الأساليب (MRO) في الوراثة المتعددة.
- استخدام الوراثة عندما يكون التركيب خيارًا أفضل.
ماذا تعلمتم؟
ماذا تعلمتم؟
في هذا الدرس، تعلمتم ما يلي:
- كيفية تعريف الأصناف الأساسية والأصناف الفرعية.
- كيفية إعادة تعريف الأساليب واستخدام
super(). - كيفية عمل الوراثة المتعددة في Python.
أحسنتم! لننتقل إلى الموضوع التالي.

الأسئلة الشائعة
هل درس «الوراثة» مجاني؟
نعم — نص درس «الوراثة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 6 دروس في المجموع.
ماذا ستتعلم في «الوراثة»؟
تعلّموا إعادة استخدام الوظائف وتوسيعها من خلال الوراثة تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 6.
كم من الوقت يستغرق درس «الوراثة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الفئات والكائنات
- السمات والدوال
- الوراثة
- تعدد الأشكال
- التغليف والتجريد
- الدوال السحرية (__str__ و__repr__ وغيرهما)