ما هي الوراثة؟
صنف (ابن) يرث خصائص وطرق صنف آخر (أب)، فيعيد استخدام الكود ويوسّعه.
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).