Hinzu kommt noch folgendes:
Delphi-Quellcode:
type TFoo1 = class
procedure X;
procedure Y;
end;
TFoo2 = class(TFoo1)
procedure Y;
end;
procedure TFoo1.X;
begin
Y;
end;
Noch mal auf Deutsch: Die Methode X ruft Y auf, das von TFoo2 erneut implementiert wird. Aber: Ein Aufruf der Methode X in einer Instanz von TFoo2 wird trotzdem die Methode Y von TFoo1 aufrufen! Um dies zu vermeiden, muss Y als virtual/override deklariert werden.