سربارگذاری متد (Method Overloading)
سربارگذاری متد (Method Overloading) یعنی چند متد همنام داشته باشیم. اما پارامترها متفاوت باشند. این کار مثل چند کلید یک اسم است. ولی هرکدام قفل متفاوتی باز می کنند.
سربارگذاری متد جاوا با انواع مختلف
در این نمونه، دو متد جمع داریم. یکی برای int و دیگری برای double.
public class Main {
  static int plusMethodInt(int x, int y) {
    return x + y;
  }
  static double plusMethodDouble(double x, double y) {
    return x + y;
  }
  public static void main(String[] args) {
    int myNum1 = plusMethodInt(8, 5);
    double myNum2 = plusMethodDouble(4.3, 6.26);
    System.out.println("int: " + myNum1);
    System.out.println("double: " + myNum2);
  }
}
یک نام، چند امضا (Signature)
حالا همان نام متد را نگه می داریم. فقط نوع پارامترها فرق دارد.
public class Main {
  static int plusMethod(int x, int y) {
    return x + y;
  }
  static double plusMethod(double x, double y) {
    return x + y;
  }
  public static void main(String[] args) {
    int myNum1 = plusMethod(8, 5);
    double myNum2 = plusMethod(4.3, 6.26);
    System.out.println("int: " + myNum1);
    System.out.println("double: " + myNum2);
  }
}
گام های عملی
- یک متد ساده با نام دلخواه بساز.
- یک نسخه دیگر با پارامتر متفاوت اضافه کن.
- در main هر نسخه را جداگانه صدا بزن.
نکته: تعداد یا نوع پارامترها باید متفاوت باشد. فقط تغییر نام متغیر کافی نیست. برای مرور خروجی ها، بخش مقادیر بازگشتی را ببین. اگر با خود «متدها» ناآشنا هستی، به متدها سر بزن. همچنین لینک میانبر: سربارگذاری متد جاوا.
جمع بندی سریع
- نام یکی است، پارامترها فرق دارند.
- کامپایلر از پارامترها تشخیص می دهد.
- خوانایی بهتر می شود.
- کد تکراری کمتر می شود.
- برای انواع مختلف، نسخه بساز.
