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

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

التحميل الزائد (Overloading)

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

ما هو التحميل الزائد؟

عدّة طرق بنفس الاسم لكن بمعاملات مختلفة (عدد أو نوع) في نفس الصنف.

في Java/C++

class Calculator {
    int add(int a, int b) { return a + b; }
    int add(int a, int b, int c) { return a + b + c; }
    double add(double a, double b) { return a + b; }
}

المترجم يختار النسخة المناسبة حسب الوسائط.

في Python (بقيم افتراضية / *args)

Python لا تدعم التحميل الزائد التقليدي؛ نحاكيه:

class Calculator:
    def add(self, *args):
        return sum(args)

c = Calculator()
c.add(2, 3)       # 5
c.add(2, 3, 4)    # 9

التجاوز مقابل التحميل الزائد

تجاوز (Override)تحميل زائد (Overload)
المكانبين أب وابننفس الصنف
التوقيعنفسهمختلف (معاملات)
القراروقت التشغيلوقت الترجمة

🎯 التالي: this و super.

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