Sobes.tech
Junior — Middle

Leg het concept van polymorfisme uit in objectgeoriënteerd programmeren en hoe het in de code wordt geïmplementeerd.

sobes.tech AI

Antwoord van AI

Polymorfisme in objectgeoriënteerd programmeren is het vermogen van objecten van verschillende klassen om verschillend te reageren op dezelfde berichten (methodenaanroepen). Dit maakt het mogelijk om een uniforme interface te gebruiken voor het werken met verschillende typen objecten.

In Java wordt polymorfisme gerealiseerd door middel van overerving en method overschrijving. Bijvoorbeeld, een basisklasse declareert een methode, en subklassen implementeren deze op hun eigen manier.

Voorbeeld:

class Animal {
    void sound() {
        System.out.println("Een geluid");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Blaffen");
    }
}

class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("Miauwen");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // Drukt "Blaffen" af
        a2.sound(); // Drukt "Miauwen" af
    }
}

Hier kan de variabele van het type Animal verwijzen naar objecten van verschillende subklassen, en de aanroep van de methode sound() wordt uitgevoerd afhankelijk van het werkelijke type van het object — dit is polymorfisme.