Sobes.tech
Junior — Middle

Тафовутро дар байни усуле, ки бо ҳамон ном ва имзо дар синф амалӣ мешавад ва боркунии он, ва иваз кардани усул дар синфҳои меросӣ.

sobes.tech AI

Ҷавоб аз AI

بارگذاری بیش از حد روش (overloading) زمانی است که در یک کلاس چندین روش با همان نام اما با امضاهای مختلف (مجموعه‌های مختلف پارامترها) ایجاد می‌شود. این امکان را می‌دهد که روش با پارامترهای مختلف فراخوانی شود و کامپایلر گزینه مناسب را انتخاب می‌کند.

بازنویسی روش (overriding) در یک کلاس ارث‌بری شده رخ می‌دهد، زمانی که روشی با همان امضا که در کلاس پایه است، مجدداً پیاده‌سازی می‌شود تا رفتار روش پایه را تغییر یا گسترش دهد.

مثال در Swift:

class Animal {
    func sound() {
        print("یک صدا")
    }
}

class Dog: Animal {
    override func sound() { // بازنویسی
        print("پارس")
    }

    func sound(volume: Int) { // بارگذاری بیش از حد
        print("پارس در حجم \(volume)")
    }
}

در اینجا، sound() در کلاس Dog روش کلاس پایه Animal را بازنویسی می‌کند، و sound(volume:) یک بارگذاری بیش از حد از روش با مجموعه متفاوتی از پارامترها است.