Polymorfisme en dynamische binding
Leer polymorfisme: één interface, meerdere implementaties. Leer dynamische binding, waarbij de uitgevoerde methode afhangt van het type object.
Polymorfisme en dynamische binding is een gratis Java Academy-les op CoddyKit. Dit is les 3 van 3. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Java Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Java Academy bevat in totaal 3 lessen.
Definitie
Polymorfisme betekent dat één referentietype kan verwijzen naar objecten van verschillende subklassen. Wanneer je een methode aanroept, wordt de juiste versie uitgevoerd op basis van het werkelijke object, niet van het type van de variabele.
Waarom is dit nuttig?
Zo kun je flexibele en herbruikbare code schrijven. Een List van Animal-objecten kan bijvoorbeeld Dog- en Cat-objecten bevatten, en het aanroepen van speak() werkt voor elk object correct. Je hebt geen afzonderlijke codepaden nodig.
Dynamische binding
Dynamische binding betekent dat tijdens de uitvoering wordt bepaald welke methodebody wordt uitgevoerd. De JVM kijkt bij het kiezen van de methode naar het werkelijke objecttype, niet alleen naar het gedeclareerde type.
Consistente aanroepen
Met polymorfisme kun je alle subklassen op dezelfde manier behandelen. Dezelfde methode op elk object aanroepen werkt, en de JVM kiest de juiste versie. Dat leidt tot schonere en kortere code.
Voorbeeld uit het dagelijks leven
Voorbeeld: Shape is de ouderklasse. Circle en Square overschrijven draw(). Een lus over een lijst met Shape-objecten roept draw() voor elk object aan, waarna de juiste versie wordt uitgevoerd. Dit is polymorfisme in de dagelijkse praktijk.
Code: demonstratie van polymorfisme
Code: Dog en Cat overschrijven speak(). Een array van Animal bevat verschillende objecten. Elke aanroep voert automatisch de juiste versie uit en laat polymorfisme in actie zien.
public class Main {
static class Animal {
void speak() {
System.out.println("Some animal sound");
}
}
static class Dog extends Animal {
@Override
void speak() {
System.out.println("Woof!");
}
}
static class Cat extends Animal {
@Override
void speak() {
System.out.println("Meow!");
}
}
public static void main(String[] args) {
Animal[] pets = { new Dog(), new Cat(), new Animal() };
for (Animal a : pets) {
a.speak(); // dynamic binding picks correct version
}
}
}
Controle van polymorfisme
Korte controle: wat kun je met polymorfisme doen in Java?
Samenvatting
Samenvatting: Polymorfisme = één referentie, veel vormen. Dynamische binding kiest de methode tijdens de uitvoering, wat flexibiliteit en overzichtelijke code oplevert.
Leer Java met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 104
- Lessen
- 374
Veelgestelde vragen
Is de les “Polymorfisme en dynamische binding” gratis?
Ja — de volledige tekst van “Polymorfisme en dynamische binding” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Java Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Java Academy bevat in totaal 3 lessen.
Wat leer ik in “Polymorfisme en dynamische binding”?
Leer polymorfisme: één interface, meerdere implementaties. Leer dynamische binding, waarbij de uitgevoerde methode afhangt van het type object. Je oefent met Java Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Java Academy te beginnen?
Ervaring vooraf is niet nodig. Java Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 3.
Hoe lang duurt de les “Polymorfisme en dynamische binding”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Java Academy?
Ja. Elke les over Java Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- extends en super
- Method overriding
- Polymorfisme en dynamische binding