Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Objekt innerhalb Klasse nach außen hin "ReadOnly"

  Alt 10. Apr 2011, 22:03
Ich glaube nicht, dass das geht, da du eigentlich nur einen Pointer auf ReadOnly gesetzt hast, denn die Property UnterObjekt enthält ja lediglich einen Zeiger auf die Klasse, die irgendwo im Speicher liegt.

Eine Idee für dein Konzept: Warum kapselst du das Objekt nicht vollständig und bietest nach außen nur Getter-Methoden (oder auch als Properties) an?
Delphi-Quellcode:
type
  TUnterKlasse = class(...)
  private
    ...
  public
    property A : String read FA write FA;
    property B : String read FB write FB;
    property C : String read FC write FC;
  end;

  TMyKlasse = class(TObject)
  private
    FUnterObjekt: TUnterKlasse;
    ...
  public
    ...
    //property UnterObjekt: TUnterKlasse read FUnterObjekt;

    // als public getter
    function GetUnterObjectA(): String;
    function GetUnterObjectB(): String;
    function GetUnterObjectC(): String;
    
   // oder als Properties, dann kannst du die Getter-Methoden
   // aber private setzen
   property UnterObjectA : String read GetUnterObjectA;
   property UnterObjectB : String read GetUnterObjectB;
   property UnterObjectC : String read GetUnterObjectC;
  end;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat