Thema: Delphi MustOverride?

Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: MustOverride?

  Alt 13. Feb 2016, 23:43
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;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat