Sobes.tech
Junior — Middle

Eyni ad və imza ilə sinifdə həyata keçirilən metod ilə onun yüklənməsi və miras alınan siniflərdə metodun üst-üstə qoyulması arasındakı fərqi izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

Yöntem yükləmə (overloading) — bu, eyni sinifdə müxtəlif imzalarla (fərqli parametr dəstləri ilə) bir neçə metod yaradıldıqda baş verir. Bu, müxtəlif arqumentlərlə metodu çağırmağa imkan verir və tərtibçi uyğun variantı seçir.

Yöntəm üst-üstə yazma (overriding) irsi sinifdə baş verir; burada əsas sinifdəki eyni imzaya malik metod yenidən həyata keçirilir və əsas metodun davranışını dəyişdirmək və ya genişləndirmək üçün istifadə olunur.

Swift-də nümunə:

class Animal {
    func sound() {
        print("Bəzi səs")
    }
}

class Dog: Animal {
    override func sound() { // üst-üstə yazma
        print("Havlama")
    }

    func sound(volume: Int) { // yükləmə
        print("Havlama səsi \(volume) səviyyəsində")
    }
}

Burada, sound() Dog sinifində əsas sinif Animal-ın metodunu üst-üstə yazır, və sound(volume:) başqa parametr dəstinə malik metodun yükləməsidir.