Thema: Delphi Constructor verbergen

Einzelnen Beitrag anzeigen

s-off
(Gast)

n/a Beiträge
 
#1

Constructor verbergen

  Alt 30. Jan 2008, 09:30
Hallo zusammen,

folgende Ausgangssituation:

Gegeben sind die folgenden Klassen (abgespeckte Darstellung):
Delphi-Quellcode:
TMeinMemoObject = Class(TObject)
private
  FValue: String;
public
  Constructor Create(oMemo: TMeinMemo);

  Property Value: String read FValue;
end;

TMeinMemo = Class(TMemo)
private
  Function GetMeinMemoObject: TMeinMemoObject;
public
  Property MeinMemoObject : TMeinMemoObject read GetMeinMemoObject;
end;
Objekte der Klasse 'TMeinMemo' können direkt Objekte vom Typ 'TMeinMemoObject' erzeugen.
Zugriff erfolgt dann über die entsprechende Property, bspw.
sMeinString := oMeinMemo.MeinMemoObject.Value; So, wie ich nun aber auf das Feld 'Value' zugreifen kann, wäre es genauso möglich, auf den Constructor zuzugreifen:
oMeinMemo.MeinMemoObject.Create(oMeinMemo); Und genau das möchte ich verhindern.
Im Klartext: ich möchte verhindern, dass ein Objekt der Klasse 'TMeinMemoObject' von außen erzeugt werden kann.

Nun dachte ich, dass es genügen würde, den Constructor aus dem Public- einfach in den Private-Bereich zu packen.
Leider genügt das nicht, da so ja immer noch der Constructor von der Vorfahrklasse 'TObject' aufrufbar ist.

Meine Frage nun: Wie kann ich jeglichen Zugriff auf den Constructor von 'TMeinMemoObject' von außen verhindern, und diesen nur der Klasse 'TMeinMemo' ermöglichen?
  Mit Zitat antworten Zitat