Thema: Delphi Klassenattribute

Einzelnen Beitrag anzeigen

Delphianer

Registriert seit: 19. Feb 2003
Ort: Rossau
149 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: Klassenattribute

  Alt 8. Okt 2003, 18:58
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:
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.
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.

Viele Grüße
Lutz
  Mit Zitat antworten Zitat