Dynamisches Dispatch ist der Laufzeit-Mechanismus, der entscheidet, welche Methodenimplementierung ausgeführt werden soll, basierend auf dem tatsächlichen Typ des Objekts, nicht dem deklarierten Typ der Variablen. Die meisten klassenbasierten Sprachen implementieren dies mit einer virtuellen Methodentabelle (vtable).
Das vtable-Modell
Jede Klasse hat eine Tabelle mit Zeigern auf ihre Methodenimplementierungen. Jedes Objekt enthält einen versteckten Zeiger auf die vtable seiner Klasse. Ein virtueller Aufruf wird zu:
