0Pricing
Python Academy · درس

الوراثة

تعلّم كيفية إعادة استخدام الوظائف وتوسيعها من خلال الوراثة

الوراثة درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 3 من أصل 6. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 6 دروس في المجموع.

مقدمة إلى الوراثة

مقدمة إلى الوراثة

الوراثة مفهوم أساسي في البرمجة كائنية التوجه (OOP)، وتسمح لفئة (الفئة الفرعية) بوراثة السمات والأساليب من فئة أخرى (الفئة الأساسية). وهي تشجع على إعادة استخدام الشفرة وتجعلها أكثر تنظيمًا.

في هذا الدرس، ستتعلم كيفية تطبيق الوراثة في Python وفهم فوائدها.

الوراثة — رسم توضيحي 1

تعريف الفئة الأساسية

تعريف الفئة الأساسية

الفئة الأساسية هي الفئة التي ترث منها الفئات الأخرى. ويتم تعريفها مثل أي فئة أخرى:

# 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.

أحسنت! لننتقل إلى الموضوع التالي.

الوراثة — رسم توضيحي 11

الأسئلة الشائعة

هل درس «الوراثة» مجاني؟

نعم — نص درس «الوراثة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 6 دروس في المجموع.

ماذا ستتعلم في «الوراثة»؟

تعلّم كيفية إعادة استخدام الوظائف وتوسيعها من خلال الوراثة تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 6.

كم من الوقت يستغرق درس «الوراثة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الفئات والكائنات
  2. السمات والطرق
  3. الوراثة
  4. تعدد الأشكال
  5. التغليف والتجريد
  6. الطرق السحرية (__str__ و__repr__ وما إلى ذلك)
← العودة إلى Python Academy