In einer Datei, ich habe eine Basisklasse mit einer ID-Eigenschaft:Delphi: Eigenschaften mit demselben Namen in der Klasse absteigend
type
TBase = class(TObject)
private
FID: integer;
public
property ID: integer read FID write SetID;
end;
In einer zweiten Datei, ich habe eine andere Klasse von TBase absteigend. Durch Zufall, oder Ignoranz oder was auch immer, ein neues Eigentum/Feld mit dem gleichen Namen als existierendes Eigentum/Feld wurde gemacht.
Die zweiten ID-Felder werden natürlich umbenannt, aber warum erlaubt der Compiler das?
Beim Zugriff auf die ID im Code - welches ID-Feld wird verwendet?
Bitte verwenden Sie nicht "überschreiben", um dies zu beschreiben. Das deutet darauf hin, dass etwas mit virtuellen Funktionen und Polymorphie zu tun hat, aber das ist nicht der Fall. Eine Variable vom Typ TList greift immer auf die Items-Eigenschaft von TList zu, selbst wenn die Variable eine Instanz der TMyList-Klasse enthält. Ein besseres Wort ist "verstecken". –
Sie haben Recht, ich habe meine Antwort ein wenig geändert. –
Wiedereinführung ist ein besseres Wort dafür. –