برو به محتوای اصلی
وحید هاشمی ، برنامه نویس

اگه بخواهیم به صورت کلی بگیم: Overload یا سربارگذاری متد یعنی چند متد هم نام با امضاء‌های (نوع ورودی‌ها و نوع خروجی‌ها) مختلف در یک کلاس یا... هستند که بنا به ورودی‌های مختلف فراخوانی مورد نظر اجرا می‌گردد.

public class OverloadingExample {

static int sumOf(int a, int b) {

 return a+b; }

static int sumOf(int a, int b, int c) {

 return a+b+c; }

 

static double sumOf(double a, double b) {

 return a+b; }

 

static double sumOf(double a, double b, double c) {

 return a+b+c;}

 

 public static void main(String[] args) {

 System.out.println(sumOf(1,2));

 System.out.println(sumOf(10,20,30)); }}

اما Override یا تحریف یعنی متدهای پدر که توسط فرزند ارث‌بری شده‌ را پیاده‌سازی کند (هم نام و هم امضاء) یعنی یک کلاس فرزند می‌تواند پیاده‌سازی خاص خود را از متدهای کلاس پدر داشته باشد و در زمان اجرا آن پیاده‌سازی بجای پیاده‌سازی پدر استفاده شود.

Method overriding in Java

مزیت overriding این است که می‌توان رفتارهای کلاس پدر را در صورت نیاز در فرزند تغییر داد، بدین معنی که کلاس فرزند می‌تواند توابع کلاس پدر را برای خود پیاده‌سازی کند.

۳
نمایش سوال
پاسخ‌های دیگر وحید هاشمی