Letzendlich, wie schon von dir erkannt und mehrfach gesagt, ist das inherited im Moment bei einer Klasse, die von TObject abgeleitet ist nicht notwendig.
Du sagst jetzt du kannst dir nicht vorstellen, daß man das Create von TObject verändern wird. Völlig ok deine Meinung. Es bleibt aber immer noch eine Meinung bzw. ein Glaube, es gibt keine Garantie dafür.
Man sollte stets defensiv programmieren und genau in diesem Moment ist das einfügen des inherited ein defensives Verhalten, was dich auf die sichere Seite bringt.
Mal ein kurzes anderes Beispiel zum defensiven Programmieren:
Delphi-Quellcode:
procedure TuWas();
var LMyObj: TEinTyp:
begin
LMyObj := TEinTyp.Create;
LMyObj.MachMalDeineAufgabe();
LMyObj.Free;
end;
das ganze nochmal defensiv:
Delphi-Quellcode:
procedure TuWas();
var LMyObj: TEinTyp:
begin
LMyObj := TEinTyp.Create;
try
LMyObj.MachMalDeineAufgabe();
finally
LMyObj.Free;
end;
end;
Im ersten Fall könnte dein Objekt freigegeben werden, im zweiten Fall wird es garantiert freigegeben.