![]() |
Klassenattribute
Gibt es in Delphi Klassenattribute?? dh ein Attribut in einer Klasse, dass nehmen wir an die Anzahl der Objekte zählt die während der Laufzeit entstehen (muss nicht heißen dass alle bestehen bleiben) Und wenn es Sie gibt wie wende ich diese on??
thx angelus |
Re: Klassenattribute
Hallo,
ich nehme an, Du meinst so etwas wie statische Klassenvariablen - gibt es nicht. Aber Du kannst mit wenig Aufwand das Verhalten nachbilden:
Delphi-Quellcode:
Du legst in der Unit, in der sich Deine Klasse befindet, im implementation-Abschnitt eine Variable an. Damit hast Du auch nur aus der Unit heraus auf diese Variable Zugriff. Das Setzen der Variablen auf 0 im initialization-Abschnitt ist nicht wirklich nötig, dort kannst Du aber noch andere Arbeiten machen, die Du beim Start des Programmes machen willst. Im Constructor zählst Du die Variable hoch, und dann brauchst Du noch eine Methode (ich habe eine Property verwendet), um den Inhalt der Variablen auszugeben.
Unit Test;
interface type TMyClass = class private function GetAnzahl: Integer; public constructor Create; property AnzahlObjekte: Integer read GetAnzahl; end; implementation var Anzahl: Integer; { TMyClass } constructor TMyClass.Create; begin inherited; Inc(Anzahl); end; function TMyClass.GetAnzahl: Integer; begin Result := Anzahl; end; initialization Anzahl := 0; end. Viele Grüße |
Re: Klassenattribute
vielen dank für die antwort .... genau das habe ich gemeint!!
jetzt muss i mi durch a bisschen theorie (vererbung, properties usw) kämpfen damit ich auch versteh was ich da mach!!! thx und danke lg Angelus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01: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