![]() |
Delphi-Version: XE5
Wann sollte man Inherited(Create) verwenden und wann nicht.
Mir ist soeben etwas bei einem BeispielCode aufgefallen:
![]()
Delphi-Quellcode:
Wieso ist im TNewObject.Create() kein Inherited bei der ersten Zeile nötig?
TNewObject = class
private FName: String; public constructor Create(const AName: String); destructor Destroy(); override; end; { TNewObject } constructor TNewObject.Create(const AName: String); begin FName := AName; end; |
AW: Wann sollte man Inherited(Create) verwenden und wann nicht.
TNewObject ist in diesem Fall von TObject abgeleitet (da ja nichts weiter definiert ist), und da TObject einen leeren Konstruktor hat, kann man das
Delphi-Quellcode:
weglassen. Wenn nichts explizit dagegen spricht sollte man es aber hinschreiben, denn wenn sich irgendwann einmal im Konstruktor von TObject (oder irgendeiner anderen Basisklasse) etwas ändert, könnte es passieren, dass irgendwas nicht funktioniert.
inherited;
Insgesamt glaube ich, dass es nur wenige Gründe gibt, kein
Delphi-Quellcode:
zu benutzen.
inherited;
MfG Dalai |
AW: Wann sollte man Inherited(Create) verwenden und wann nicht.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz