Junior
Dasturlashda polimorfizm nima?
sobes.tech AI
AIdan javob
Polimorfizm — bu turli sinflardan bo'lgan obyektlarning bir xil xabarlar (metod chaqiruvlar)ga turli javob berish qobiliyatidir.
Oddiy qilib aytganda, bir xil metod, uni chaqirayotgan obyektga qarab, turlicha harakat qilishi mumkin. Bu meros olish va metodlarni qayta yozish orqali, shuningdek, interfeyslar yordamida amalga oshiriladi.
Swift misoli:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Gav")
}
}
class Cat: Animal {
func makeSound() {
print("Mya")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Chiqish: Gav
playSound(animal: cat) // Chiqish: Mya
Bu yerda, playSound funksiyasi Animal turidagi obyektni qabul qiladi, ammo konkret sinf (Dog yoki Cat) ga qarab, mos makeSound metodining amalga oshirilishi chaqiriladi.