Sobes.tech
Junior

Programlamada çok biçimlilik nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Polimorfizm, farklı sınıflardan nesnelerin aynı mesajlara (metot çağrılarına) farklı şekilde yanıt verme yeteneğidir.

Basitçe söylemek gerekirse, aynı metot, onu çağıran nesneye bağlı olarak farklı davranabilir. Bu, kalıtım ve metotların yeniden tanımlanmasıyla ve arayüzlerin kullanılmasıyla sağlanır.

Swift'te örnek:

protocol Animal {
    func makeSound()
}

class Dog: Animal {
    func makeSound() {
        print("Hav")
    }
}

class Cat: Animal {
    func makeSound() {
        print("Miyav")
    }
}

func playSound(animal: Animal) {
    animal.makeSound()
}

let dog = Dog()
let cat = Cat()

playSound(animal: dog) // Çıktı: Hav
playSound(animal: cat) // Çıktı: Miyav

Burada, playSound fonksiyonu Animal türünde bir nesne alır, ancak belirli sınıfa (Dog veya Cat) bağlı olarak, uygun makeSound yöntemi çağrılır.