Junior
პოლიმორფიზმი პროგრამირებაში რა არის?
sobes.tech AI
პასუხი AI-სგან
პოლიმორფიზმი არის უნარი სხვადასხვა კლასის ობიექტებს ერთნაირი შეტყობინებებზე (მეთოდების გამოძახებებზე) განსხვავებული რეაგირება მოახდინონ.
სადავებლად, იგივე მეთოდი შეიძლება სხვადასხვა ობიექტზე განსხვავებულად იქცეს, რაც მიღწეულია მემკვიდრეობით და მეთოდების გადაწერით, ასევე ინტერფეისების გამოყენებით.
Swift-ის მაგალითი:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("ჰავ")
}
}
class Cat: Animal {
func makeSound() {
print("მiau")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // გამოტანა: ჰავ
playSound(animal: cat) // გამოტანა: მiau
აქ, ფუნქცია playSound იღებს Animal ტიპის ობიექტს, მაგრამ კონკრეტული კლასი (Dog ან Cat) დამოკიდებულია, და შესაბამისად, იძახება შესაბამისი makeSound მეთოდის რეალიზაცია.