Sobes.tech
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.