Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التحميل الزائد للأساليب (Method Overloading)

جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 54 من 73.

في Java، يتيح لك تحميل المنهج الزائد (method overloading) تعريف طرق متعددة بنفس الاسم ولكن بمعاملات مختلفة. وهذا يعني أنه يمكن أن يكون لديك عدة طرق تؤدي وظيفة مماثلة ولكنها تعمل على أنواع بيانات مختلفة أو عدد مختلف من الوسائط.

النقطة الأساسية هي أن كل طريقة محملة بشكل زائد (overloaded method) يجب أن يكون لها توقيع طريقة (method signature) فريد. يتم تحديد توقيع الطريقة من خلال اسم الطريقة ونوع وترتيب معلماتها (parameters).

إليك القواعد الأساسية لزيادة تحميل الدوال (method overloading):

  1. نفس الاسم: يجب أن يكون لجميع الأساليب (methods) المحملة بشكل زائد نفس الاسم.
  2. معاملات مختلفة: يجب أن يكون لكل إصدار من الأسلوب (method) عدد مختلف من المعاملات، أو أنواع مختلفة من المعاملات، أو كليهما.
  1. نوع الإرجاع ليس كافيًا: لا يمكن للأساليب المحملة بشكل زائد (Overloaded methods) أن تختلف فقط في نوع الإرجاع الخاص بها. يجب أن يكون لها قوائم معاملات مختلفة.

إليك مثال لتوضيح تحميل الدوال الزائد (method overloading):

public class MathUtils {
    public static int add(int a, int b) {
    	return a + b;
    }

	public static double add(double a, double b) {
		return a + b;
	}

	public static int add(int a, int b, int c) {
		return a + b + c;
	}
}

في هذا المثال، لدينا ثلاث طرق تسمى add. الأولى تجمع عددين صحيحين، والثانية تجمع عددين من نوع double، والثالثة تجمع ثلاثة أعداد صحيحة.

تحدد Java أي طريقة سيتم استدعاؤها بناءً على الوسائط الممررة أثناء استدعاء الطريقة.

تجعل زيادة تحميل الدوال (Method overloading) الكود أكثر قابلية للقراءة وإعادة الاستخدام. فبدلاً من إنشاء أسماء مختلفة للدوال التي تؤدي مهاماً متشابهة (على سبيل المثال، addInts و addDoubles و addThreeInts)، يمكنك استخدام اسم واحد، add، وترك المترجم (compiler) يختار الدالة المناسبة بناءً على السياق.

تذكر: يتطلب التحميل الزائد (overloading) أنواعًا أو أعدادًا مختلفة من المعاملات (parameters)، وليس مجرد أسماء معاملات مختلفة أو أنواع إرجاع (return types) مختلفة.

ورقة مرجعية

يسمح التحميل الزائد للدوال (Method overloading) بوجود عدة دوال بنفس الاسم ولكن بمعاملات مختلفة:

قواعد التحميل الزائد للدوال:

  • نفس اسم الدالة
  • معاملات مختلفة (العدد، النوع، أو الترتيب)
  • نوع الإرجاع وحده لا يكفي للتحميل الزائد
public class MathUtils {
    public static int add(int a, int b) {
        return a + b;
    }

    public static double add(double a, double b) {
        return a + b;
    }

    public static int add(int a, int b, int c) {
        return a + b + c;
    }
}

تحدد لغة Java أي دالة سيتم استدعاؤها بناءً على الوسائط (arguments) الممررة أثناء استدعاء الدالة.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals