Virtuelle und dynamische Methoden können überschrieben werden. Wenn eine solche Methode einer Instanz aufgerufen wird, wird die Virtual Method Table (
VMT) durchlaufen, ausgehend von der Klasse der Instanz in der Hierarchie aufsteigend, bis eine Implementation gefunden wird. Die wird dann abgearbeitet. Normalerweise möchte man die Methode aber nicht komplett ersetzen, sondern nur erweitern, weswegen man dann inherited aufruft, um die nächste Implementation in den höher gelegenen Klassen auszuführen.