Sobes.tech
Junior — Middle

Kan gezegd worden dat erfelijkheid bijdraagt aan de implementatie van polymorfisme in objectgeoriënteerd programmeren?

sobes.tech AI

Antwoord van AI

Ja, overerving is een van de kernmechanismen die bijdragen aan de implementatie van polymorfisme in objectgeoriënteerd programmeren. Polymorfisme stelt objecten van verschillende klassen in staat om via een gemeenschappelijke interface behandeld te worden, en overerving maakt het mogelijk om klassendiagrammen te creëren waarin subklassen methoden van de basisklasse kunnen overschrijven.

Bijvoorbeeld, als er een basisklasse Dier is met een methode maakGeluid(), en de subklassen Hond en Kat overschrijven deze methode, dan kan er gewerkt worden met objecten van deze klassen via een referentie naar de basisklasse en de methode maakGeluid() worden aangeroepen, wat verschillende gedragingen oplevert:

class Dier {
    void maakGeluid() {
        System.out.println("Een geluid");
    }
}

class Hond extends Dier {
    @Override
    void maakGeluid() {
        System.out.println("Blaf");
    }
}

class Kat extends Dier {
    @Override
    void maakGeluid() {
        System.out.println("Miauw");
    }
}

// Gebruik
Dier d = new Hond();
d.maakGeluid(); // Drukt "Blaf" af