Z powodu opierania się na dynamicznym typie argumentów jest to polimorfizm dynamiczny.
Overriding with single dispatch Funkcje składowe obiektów mogą być traktowane tak, jakby jednym z ich parametrów było odniesienie do obiektu, na rzecz którego są wywoływane (this, self). Definiowanie explicite tego wskaźnika można znaleźć np. w Pythonie (tradycyjnie nazywany self). Gdy klasy pochodne mogą zastępować (ang. override) funkcje zdefiniowane w klasach nadrzędnych, a wybór wywoływanej funkcji dokonywany jest na podstawie dynamicznego typu obiektu, na rzecz którego funkcja jest wywoływana, to również jest to polimorfizm dynamiczny. Mechanizm ten w wielu językach nazywany jest metodami lub funkcjami wirtualnymi.
Rekordy wariantowe Podczas wykonywania programu może zajść potrzeba różnego interpretowania wartości zawartych w pewnej zmiennej. Typowymi przykładami są: przetwarzanie wiadomości z jednolitym nagłówkiem, określającym typ wiadomości oraz zmiennym formatem treści, zależnym od typu, heterogeniczne struktury danych, np. drzewa przechowujące dane różnych typów.
Wygodnym rozwiązaniem są wtedy rekordy wariantowe.