Gdy na rzecz pewnego obiektu wywołana zostaje pewna metoda, nie musi być ona zdefiniowana bezpośrednio w klasie opisującej obiekt, ale w której z klas nadrzędnych
Jeśli jednak z jakiegoś powodu metoda stworzona w klasie nadrzędnej nam nie odpowiada możemy w nowo tworzonej podklasie zdefiniować nową wersję tej metody. W trakcie wykonywania programu automatycznie dobrana zostaje metoda najbliższa obiektowi na rzecz, którego metoda została wywołana.
(1) (c) Marian Mrozek, Kraków - Nowy Sącz, 1997-2001