تخطَّ إلى المحتوى

🧩 شرح البرمجة كائنية التوجّه

الوراثة (Inheritance)

الدرس 8 من 25· ⏱ 1 دقائق قراءة

ما هي الوراثة؟

صنف (ابن) يرث خصائص وطرق صنف آخر (أب)، فيعيد استخدام الكود ويوسّعه.

class Animal:
    def __init__(self, name):
        self.name = name
    def eat(self):
        print(f"{self.name} يأكل")

class Dog(Animal):           # Dog يرث من Animal
    def bark(self):
        print("نباح")

d = Dog("ركس")
d.eat()    # موروثة من Animal
d.bark()   # خاصّة بـ Dog

استدعاء الأب (super)

class Cat(Animal):
    def __init__(self, name, color):
        super().__init__(name)   # استدعاء باني الأب
        self.color = color

علاقة "is-a"

الوراثة تمثّل "هو نوع من": الكلب هو حيوان.

في لغات أخرى

class Dog extends Animal { }   // Java
class Dog extends Animal { }   // JavaScript

تحذير

⚠️ لا تفرط في الوراثة العميقة — أحيانًا التركيب (Composition) أفضل (درس لاحق).

🎯 التالي: تعدّد الأشكال (Polymorphism).

هل كان هذا الدرس مفيدًا؟