Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Abstrakte Klasse mit implementierten Methoden (https://www.delphipraxis.net/97041-abstrakte-klasse-mit-implementierten-methoden.html)

Nogge 5. Aug 2007 22:06

Re: Abstrakte Klasse mit implementierten Methoden
 
Zitat:

Zitat von Nogge
Aso, vergessen zu erwähnen: Man kann den Konstruktor dann zwar nicht mehr mit nem "." auswählen, allerdings akzeptiert der Compiler <Instance>.Create() als ganzes.

Ich habe mich da jetzt noch mal genau mit befasst:
Der Compiler sowie die Entwicklungsumgebung akzeptieren sowohl <class>.Create() als auch <instance>.Create(). Das einzige, was sich durch einen abstrakten Konstruktor verändert, ist die Anzeige des Compilers, wenn man der Unterklasse TTest von TNonVCLThread erben lässt:
Zitat:

[Warning] Test.pas(75): Method 'Create' hides virtual method of base type 'TNonVCLThread'
Das ist dann wohl die "einschränkenste" Fehlermeldung für die Implementierung einer echten abstrakten Klasse :( Naja, besser als nichts. Mithilfe von reintroduce kann man dann den Konstruktor überschreiben, ohne dass diese Warnung erscheint.

stoxx 6. Aug 2007 00:23

Re: Abstrakte Klasse mit implementierten Methoden
 
Delphi-Quellcode:
type
  TMyAbstractClass = class abstract(TMyBase)
  end;


für was verwendet man das?
in der Hilfe steht was von: " Ist eine Klasse als abstract markiert, dann kann sie nicht direkt mit dem Konstruktor Create instantiiert werden."
aber irgendwie geht das bei mir trotzdem.


Vielen Dank!

mkinzler 6. Aug 2007 05:38

Re: Abstrakte Klasse mit implementierten Methoden
 
Zitat:

aber irgendwie geht das bei mir trotzdem.
Das meinte ich ja, mit es gibt keine richtigen abstrakten Klassen in Delphi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz