شرح ال Overloading في لغة جافا بالعربي

مقال النهاردة لشرح مفهوم اخر من مفاهيم لغة الجافا وهو مايعرف بالتحميل الزائد – Methods Overloading
ببساطة هى تعريف اكثر من دالة بنفس الاسم داخل نفس الكلاس ولكن ببراميتر مختلف .

شرح ال Overloading في لغة جافا بالعربي
لغة جافا

انا هوضح كلامى بمثال بسيط :

باأفتراض ان الكلاس يحتوى على دالة ( )add
وهذة الدالة تاخذ اثنين براميتر من النوع الرقمى الصحيح وتقوم بجمعهم .

public int add( int x,int y){
return x+y;
}

بإفتراض طلب منى عمل دالة اخرى لجمع ثلاث ارقام صحيحين ودالة اخرى لجمع رقمين عشرين .
من خلال ماتم تعلمة سابقا سوف يتم عمل دالة اخرى اسمها مثلا addThree ودالة اخرى اسمها addDouble وهكذا يتم عمل اكثر من دالة .

من هنا ظهر مفهوم overloading وهو اكثر من دالة تؤدى نفس الوظيفة داخل نفس الكلاس ولكن بشرط ان تكون بنفس الاسم وببراميتر مختلف .

فى حاجة مهمة جدا لازم اوضحها هى ان تعريف الدالة signature بيكون من خلال :

– اسم الدالة – البراميتر
بمعنى لو عملت دالة اسمها ( )add بدون براميتر تقوم بجمع اى رقمين وعاوز انشاء دالة اخرى بدون براميتر وبنفس الاسم جافا هتعترض .

وبالتالى لو عاوز اكرر اسم الدالة داخل نفس الكلاس لابد ان نعطى كل دالة براميتر مختلف عن الاخرى والاختلاف هنا فى عدد البراميتر او النوع او الاثنين معا .

وبالتالى يتم كتابة باقى الدوال كالتالى:

public double add( double x,double y){
return x+y;
}
public int add(int x,int y,int i){
return x+y+i;
}

ثم يتم استدعاء الدالة وتمرير البرامتير

public class Main{

عند عمل كائن من كلاس Cal وطباعة الدالة ( )add .

Cal c=new Cal( );
System.out.print(c.add(5,3));

سوف يستدعى الدالة add التى تاخد اثنين براميتر من النوع الرقمى الصحيح .

System.out.print(c.add(2.3,4.6);

سوف يستدعى الدالة add التى تاخد اثنين براميتر من النوع العشرى .وهكذا بالنسبة للدالة add التى تاخد ثلاثة براميتر .

نقلا عن مهندس / Fawzy Syam

شارك المقال

مواضيع قد تعجبك: