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