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