Sobes.tech
Junior

Wat is polymorfisme in programmeren?

sobes.tech AI

Antwoord van AI

Polymorfisme is het vermogen van objecten van verschillende klassen om op dezelfde berichten (methodenaanroepen) verschillend te reageren.

Kort gezegd, kan dezelfde methode zich anders gedragen afhankelijk van het object dat het aanroept. Dit wordt bereikt door middel van overerving en het overschrijven van methoden, evenals door het gebruik van interfaces.

Voorbeeld in Swift:

protocol Animal {
    func makeSound()
}

class Dog: Animal {
    func makeSound() {
        print("Gauw")
    }
}

class Cat: Animal {
    func makeSound() {
        print("Miauw")
    }
}

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

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

playSound(animal: dog) // Print: Gauw
playSound(animal: cat) // Print: Miauw

Hier accepteert de functie playSound een object van het type Animal, maar afhankelijk van de concrete klasse (Dog of Cat) wordt de bijbehorende implementatie van de methode makeSound aangeroepen.