بارگذاری متد (Method Overloading)
اینجا با «بارگذاری متد (Method Overloading)» آشنا می شویم. یعنی چند متد، یک نام، اما پارامترهای متفاوت. این کار کد را مرتب تر می کند. همچنین خوانایی بیشتر می شود؛ مثل یک کلید چندحالته برای کارهای مشابه.
ایده اصلی بارگذاری
وقتی کار یکی است، اما نوع یا تعداد ورودی فرق دارد، چند نسخه از همان نام می نویسیم. کامپایلر با توجه به ورودی، نسخه درست را صدا می زند.
دو متد هم نام با نوع های متفاوت
در این نمونه، جمع اعداد درست انجام می شود؛ یکی برای int و یکی برای double.
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);
}
نکته: داشتن یک نام برای کار مشابه، از تکرار نام های اضافی جلوگیری می کند.
بارگذاری یک نام واحد
به جای دو نام مختلف، یک نام را بارگذاری می کنیم. حالا بر اساس نوع ورودی، نسخه درست اجرا می شود.
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);
}
نکته: چند متد می توانند یک نام داشته باشند؛ فقط تعداد یا نوع پارامترها باید متفاوت باشد.
گام های عملی سریع
- دو متد هم نام بساز. نوع پارامترها را متفاوت کن.
- با ورودیِ عدد صحیح و اعشاری تست کن. خروجی ها را ببین.
- یک نسخه سوم اضافه کن. سپس دوباره اجرا کن.
برای مرورِ بارگذاری متد و مباحث نزدیک، صفحه آرگومان های نام دار و متدها را ببین.
جمع بندی سریع
- یک نام، چند امضا؛ همین بارگذاری است.
- نوع یا تعداد پارامتر باید فرق کند.
- کد خواناتر و قابل استفاده تر می شود.
- از نام گذاری های اضافی خلاص می شوی.