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.