![]() |
AW: MustOverride?
Aber wenn Du von TDerivedClass ableitest, kannst Du auch vergessen, die InternalCleanUp zu überschreiben.
Meine Frage (oder wenn mal will auch Anregung) war, dass der Compiler in dem Fall warnt.
Delphi-Quellcode:
type
TBaseClass = class private procedure CommonCleanup; protected procedure InternalCleanup; virtual; abstract; public procedure Cleanup; end; TDerivedClass = class(TBaseClass) protected procedure InternalCleanup; override; end; TDerivedSubClass = class(TTDerivedClassClass) procedure DoSub; end; procedure TBaseClass.Cleanup; begin CommonCleanup; InternalCleanup; end; |
AW: MustOverride?
Zitat:
![]() |
AW: MustOverride?
Zitat:
Das aufräumen zu vergessen ist immer ein Problem - auch wenn Du ein internalCleanUp hast kannst Du eine intern initialisierte Klasse vergessen. Ich kann nicht ganz nachvollziehen wie du das vermeiden willst. |
AW: MustOverride?
@Uwe
Oh, ja, CommonCleanup ist ja nicht virtuell. Merke ich mir mal vor. Jetzt habe ich schon von Hand aufgeräumt. @Lemmy Ich dachte, der Compiler kann mich direkt darauf aufmerksam machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 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