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

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

الأعضاء الساكنة (Static)

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

ما الفرق؟

  • عضو الكائن (instance): خاصّ بكل كائن.
  • عضو ساكن (static): مشترك على مستوى الصنف كلّه.
class Counter:
    count = 0                  # ساكن (مشترك)

    def __init__(self):
        Counter.count += 1     # يزيد للكلّ

a = Counter()
b = Counter()
print(Counter.count)   # 2

الطرق الساكنة

لا تحتاج كائنًا أو self:

class MathUtils:
    @staticmethod
    def add(a, b):
        return a + b

MathUtils.add(2, 3)    # عبر الصنف مباشرة
// Java
class MathUtils {
    static int add(int a, int b) { return a + b; }
}
MathUtils.add(2, 3);

الثوابت الساكنة

class Circle {
    static final double PI = 3.14159;
}

متى نستخدمها؟

  • عدّادات أو قيم مشتركة بين كل الكائنات.
  • دوال مساعدة لا تحتاج حالة كائن (utility).

🎯 التالي: تجاوز الطرق.

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