AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Constructor verbergen

Ein Thema von s-off · begonnen am 30. Jan 2008 · letzter Beitrag vom 30. Jan 2008
 
s-off
(Gast)

n/a Beiträge
 
#1

Constructor verbergen

  Alt 30. Jan 2008, 08: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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 Uhr.
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