العودة إلى الدورة

دوال الفئة والدوال الساكنة (متى نستخدم أياً منها)

برمجة Python: معسكر التدريب من الصفر إلى الاحتراف

دوال الفئة والدوال الساكنة

بجانب دوال الكائن العادية، يمكن أن تحتوي الفئات على نوعين آخرين من الدوال يغيران كيفية التعامل مع self.

1. دوال الفئة (@classmethod)

  • تُزخرف بـ @classmethod.
  • تأخذ cls كأول وسيط لها، مشيرة إلى الفئة نفسها، وليس الكائن.
  • تُستخدم كطرق بديلة لإنشاء الكائنات (factory methods) أو للتعامل مع خصائص على مستوى الفئة.

python class Settings: DEFAULT_THEME = 'dark'

@classmethod
def get_default_theme(cls):
    # cls تشير إلى فئة Settings
    return cls.DEFAULT_THEME

الوصول عبر الفئة مباشرة وليس الكائن

print(Settings.get_default_theme()) # المخرجات: dark

2. الدوال الساكنة (@staticmethod)

  • تُزخرف بـ @staticmethod.
  • لا تتطلب وسيط self أو cls.
  • هي دوال مساعدة مُجمعة داخل الفئة لأنها تنتمي منطقياً إليها، لكنها لا تتفاعل مع خصائص الفئة أو خصائص الكائن.

python class MathUtility: @staticmethod def add_numbers(a, b): return a + b

استدعاؤها مباشرة باسم الفئة

print(MathUtility.add_numbers(10, 5)) # المخرجات: 15