Junior
Ce este polimorfismul în programare?
sobes.tech AI
Răspuns de la AI
Polimorfismul este capacitatea obiectelor din clase diferite de a răspunde diferit la aceleași mesaje (apeluri de metode).
Pe scurt, aceeași metodă poate avea comportament diferit în funcție de obiectul care o invocă. Acest lucru se realizează prin moștenire și suprascrierea metodelor, precum și prin utilizarea interfețelor.
Exemplu în Swift:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Hau")
}
}
class Cat: Animal {
func makeSound() {
print("Miau")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Va afișa: Hau
playSound(animal: cat) // Va afișa: Miau
Aici, funcția playSound acceptă un obiect de tip Animal, dar în funcție de clasa concretă (Dog sau Cat), se apelează implementarea corespunzătoare a metodei makeSound.