Dynamic dispatch is het runtime-mechanisme dat bepaalt welke methode-implementatie moet worden uitgevoerd op basis van het werkelijke type van het object, niet het gedeclareerde type van de variabele. De meeste class-based languages implementeren dit met een virtual method table (vtable).
Waarom het belangrijk is
Elke klasse heeft een tabel met pointers naar haar methode-implementaties. Elk object bevat een verborgen pointer naar de vtable van zijn klasse. Een virtuele aanroep werkt als volgt:
