Dynamic dispatch ਰਨਟਾਈਮ ਮਕੈਨਿਜ਼ਮ ਹੈ ਜੋ ਇਹ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜਾ method implementation ਚਲਾਉਣਾ ਹੈ, ਜੋ object ਦੀ ਅਸਲ ਕਿਸਮ ਦੇ ਆਧਾਰ 'ਤੇ ਹੈ, ਨਾ ਕਿ variable ਦੀ ਘੋਸ਼ਣਾ ਕੀਤੀ ਕਿਸਮ ਦੇ ਆਧਾਰ 'ਤੇ। ਜ਼ਿਆਦਾਤਰ class-based ਭਾਸ਼ਾਵਾਂ ਇਸ ਨੂੰ virtual method table (vtable) ਨਾਲ ਲਾਗੂ ਕਰਦੀਆਂ ਹਨ।
vtable ਮਾਡਲ
ਹਰੇਕ class ਦੇ ਕੋਲ ਆਪਣੇ method implementations ਦੇ ਲਈ pointers ਦੀ ਇੱਕ ਟੇਬਲ ਹੈ। ਹਰੇਕ object ਕੋਲ ਆਪਣੀ class ਦੇ vtable ਵਾਲਾ ਇੱਕ ਲੁਕਵਾਂ pointer ਹੈ। ਇੱਕ virtual call ਇਸ ਤਰ੍ਹਾਂ ਬਣ ਜਾਂਦਾ ਹੈ:
