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

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

الأصناف المجرّدة

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

ما هو الصنف المجرّد؟

صنف لا يُنشأ منه كائن مباشرة، يُستخدم كقالب للأصناف المشتقّة. قد يحوي طرقًا مجرّدة (بلا تنفيذ) وأخرى منفّذة.

from abc import ABC, abstractmethod

class Shape(ABC):
    def __init__(self, name):
        self.name = name

    def describe(self):              # طريقة منفّذة (مشتركة)
        return f"{self.name}: مساحة {self.area()}"

    @abstractmethod
    def area(self):                  # طريقة مجرّدة (يجب تنفيذها)
        pass

class Square(Shape):
    def __init__(self, side):
        super().__init__("مربّع")
        self.side = side
    def area(self):
        return self.side ** 2

# Shape("x")   ← خطأ: لا يمكن إنشاء صنف مجرّد
s = Square(4)
print(s.describe())   # مربّع: مساحة 16

الفائدة

  • يفرض على الأبناء تنفيذ طرق معيّنة.
  • يشارك كودًا مشتركًا (بخلاف الواجهة النقيّة).

متى تختار؟

  • تشارك كودًا وحالة بين الأبناء → صنف مجرّد.
  • عقد سلوك فقط، أو تحتاج تعدّد عقود → واجهة.

🎯 التالي: التركيب (Composition).

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