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.