Junior — Middle
Bir metodun, aynı isim ve imzayla bir sınıfta uygulanması ile aşırı yüklenmesi ve kalıtılan sınıflarda metodun yeniden tanımlanması arasındaki farkı açıklayın.
sobes.tech yapay zeka
AI'dan gelen yanıt
Yöntem aşırı yükleme (overloading), aynı sınıfta farklı imzalarla (farklı parametre setleriyle) birkaç yöntem oluşturulduğunda olur. Bu, farklı argümanlarla yöntemi çağırmaya olanak tanır ve derleyici uygun olanı seçer.
Yöntem geçersiz kılma (overriding), kalıtımlı bir sınıfta gerçekleşir; temel sınıftaki aynı imzaya sahip yöntem yeniden uygulanır, böylece temel yöntemin davranışı değiştirilir veya genişletilir.
Swift'te örnek:
class Animal {
func sound() {
print("Bir ses")
}
}
class Dog: Animal {
override func sound() { // geçersiz kılma
print("Havlama")
}
func sound(volume: Int) { // aşırı yükleme
print("Ses seviyesinde havlama \(volume)")
}
}
Burada, sound() Dog sınıfında temel sınıf Animal'daki yöntemi geçersiz kılar, ve sound(volume:) farklı parametre setiyle bir aşırı yüktür.