Dynamic dispatch est le mécanisme d'exécution qui décide quelle implémentation de méthode exécuter en fonction du type réel de l'objet, et non du type déclaré de la variable. La plupart des langages basés sur les classes l'implémentent avec une table de méthodes virtuelles (vtable).
Pourquoi c'est important
Chaque classe dispose d'une table de pointeurs vers ses implémentations de méthodes. Chaque objet détient un pointeur caché vers la vtable de sa classe. Un appel virtuel devient :
