فهرست سرفصل‌های #C
خانه (HOME) مقدمه (Intro) شروع کار (Get Started) سینتکس (Syntax) خروجی (Output) کامنت ها (Comments) متغیرها (Variables) ثابت ها (Constants) نمایش متغیرها (Display Variables) متغیرهای متعدد (Multiple Variables) شناسه ها (Identifiers) انواع داده (Data Types) تبدیل نوع (Type Casting) ورودی کاربر (User Input) عملگرها (Operators) انتساب (Assignment) مقایسه (Comparison) منطقی (Logical) ریاضی (Math) رشته ها (Strings) اتصال رشته ها (Concatenation) درون گذاری رشته (Interpolation) دسترسی به رشته ها (Access Strings) کاراکترهای ویژه (Special Characters) بولی ها (Booleans) if (If...Else) else (If...Else) else if (If...Else) شکل کوتاه if..else (Short hand if..else) سوئیچ (Switch) حلقه while (While Loop) حلقه for (For Loop) حلقه foreach (Foreach loop) شکستن/ادامه (Break/Continue) آرایه ها (Arrays) حلقه روی آرایه (Loop through an array) مرتب سازی آرایه ها (Sort arrays) آرایه های چندبعدی (Multidimensional arrays) متدها (Methods) پارامترها (Parameters) پارامتر پیش فرض (Default Parameter) مقادیر بازگشتی (Return Values) آرگومان های نام دار (Named Arguments) بارگذاری متد (Method Overloading) شیء گرایی (OOP) کلاس ها/اشیا (Classes/Objects) چند شیء (Multiple Objects) اعضای کلاس (Class Members) سازنده ها (Constructors) قیدهای دسترسی (Access Modifiers) ویژگی ها (Properties) وراثت (Inheritance) چندریختی (Polymorphism) انتزاع (Abstraction) اینترفیس (Interface) چند اینترفیس (Multiple Interfaces) شمارش ها (Enums) فایل ها (Files) استثناها (Exceptions) افزودن دو عدد (Add Two Numbers) نمونه ها (Examples)
#C

#C — بارگذاری متد (Method Overloading)

آخرین بروزرسانی: 1404/08/05

بارگذاری متد (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);
}

مشاهده در ادیتور

نکته: چند متد می توانند یک نام داشته باشند؛ فقط تعداد یا نوع پارامترها باید متفاوت باشد.

گام های عملی سریع

  1. دو متد هم نام بساز. نوع پارامترها را متفاوت کن.
  2. با ورودیِ عدد صحیح و اعشاری تست کن. خروجی ها را ببین.
  3. یک نسخه سوم اضافه کن. سپس دوباره اجرا کن.

برای مرورِ بارگذاری متد و مباحث نزدیک، صفحه آرگومان های نام دار و متدها را ببین.

جمع بندی سریع

  • یک نام، چند امضا؛ همین بارگذاری است.
  • نوع یا تعداد پارامتر باید فرق کند.
  • کد خواناتر و قابل استفاده تر می شود.
  • از نام گذاری های اضافی خلاص می شوی.