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