Private statische Variablen sind nicht-lokal beschreibbar? Das wäre ja ein Graus. Wenn nicht, ist deine Anmerkung überflüssig, denn lokale Variablen/private Felder sind immer beschreibbar.
Aber Ich denke, Du verwechselst 'static' mit 'const', es gilt aber 'static' = 'class var'. Und 'var' steht nicht für 'konstant'.
Und auch nicht für 'varscheinlich konstant'
Eine statische (Class-) Variable ist übrigens eine Variable, die nicht der Instanz zugeordnet ist, sondern der Klasse. Also sowas wie (globale) Variablen.
Delphi-Quellcode:
Type
TStaticClass =
class
private class Var hidden : TSomeType;
public class Var known : TSomeType;
end;
// Entspricht von der Sichtbarkeit
Unit TStaticUnit;
Interface
Var
known : TSomeType;
Implementation
hidden : TSomeType;
End.
Old school würde man eine Read-Only Variable (was hier noch besser wäre, aber dann bräuchte man einen statischen Konstruktor) als Funktion (z.B. Printer, Clipboard) umsetzen;
Delphi-Quellcode:
Unit Stuff;
interface
function DataAccess : TSomeType;
implementation
Var
_dataAccess : TSomeType;
Function DataAccess : TSomeType;
Begin
Result := _dataAccess;
End;
// Oder mit Lazy load
Function DataAccess : TSomeType;
Begin
if _dataAccess =
nil then _dataAccess := CreateDataAccess;
Result := _dataAccess;
End;