Sobes.tech
Junior

Полиморфизм дар барномасозӣ чист?

sobes.tech AI

Ҷавоб аз AI

Полиморфизм — қобилияти объектҳои класи гуногун ба паёмҳо (даъвати методҳо) дар роҳҳои гуногун ҷавобгӯӣ додан.

Ба сурати содда, як ва ҳамон метод метавонад дар асоси объекте, ки онро даъват мекунад, дархостҳои гуногунро иҷро кунад. Ин тавассути мерос ва иваз кардани методҳо, инчунин истифодаи интерфейсҳо ба даст меояд.

Масалан дар Swift:

protocol Animal {
    func makeSound()
}

class Dog: Animal {
    func makeSound() {
        print("Гав")
    }
}

class Cat: Animal {
    func makeSound() {
        print("Мяу")
    }
}

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

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

playSound(animal: dog) // Натиҷа: Гав
playSound(animal: cat) // Натиҷа: Мяу

Ин ҷо, функсияи playSound объекти навъи Animal қабул мекунад, аммо вобаста ба синфи мушаххас (Dog ё Cat), иҷрои мувофиқи методи makeSound даъват мешавад.