آموزش سربارگذاری متد (Method Overloading) در سی شارپ

overloading تابع، قابلیتی است که به یک کلاس اجازه میدهد، تعداد دو یا بیشتر تابع با نام یکسان داشته باشد. در برنامه نویسی به زبان سی شارپ با method overloading ، چندین متد می توانند نام یکسانی با پارامترهای مختلف داشته باشند

بهزاد میرزازاده بهزاد میرزازاده

زمان مطالعه

3 دقیقه

بازدید

263

پرسش و پاسخ

0
آموزش سربارگذاری متد (Method Overloading) در سی شارپ
int MyMethod(int x)
float MyMethod(float x)
double MyMethod(double x, double y)

مثال زیر را در نظر بگیرید ، که دارای دو متد است که اعداد از نوع مختلف را اضافه می کند:

static int PlusMethodInt(int x, int y)
{
  return x + y;
}

static double PlusMethodDouble(double x, double y)
{
  return x + y;
}

static void Main(string[] args)
{
  int myNum1 = PlusMethodInt(8, 5);
  double myNum2 = PlusMethodDouble(4.3, 6.26);
  Console.WriteLine("Int: " + myNum1);
  Console.WriteLine("Double: " + myNum2);
}

به جای تعریف دو متد که باید همان کار را انجام دهند ، بهتر است یکی را overload کنید.

در مثال زیر ، متد PlusMethod را overload می کنیم تا برای int و double کار کند:

static int PlusMethod(int x, int y)
{
  return x + y;
}

static double PlusMethod(double x, double y)
{
  return x + y;
}

static void Main(string[] args)
{
  int myNum1 = PlusMethod(8, 5);
  double myNum2 = PlusMethod(4.3, 6.26);
  Console.WriteLine("Int: " + myNum1);
  Console.WriteLine("Double: " + myNum2);
}

توجه: چندین متد می توانند نام یکسانی داشته باشند به شرط آنکه تعداد و یا نوع پارامترها متفاوت باشد.