Thema: Hilfklasse

Einzelnen Beitrag anzeigen

freimatz

Registriert seit: 20. Mai 2010
1.383 Beiträge
 
Delphi 11 Alexandria
 
#1

Hilfklasse

  Alt 25. Mai 2022, 07:32
Hoi, Sorry Betreff ist mir kein besserer eingefallen.
Es geht um eine Monsterklasse zu vereinfachen. Zum Beispiel (real ist anders)
Delphi-Quellcode:
IMonster = interface
property ElementTyp: TTyp; //Kreis, Quadrat, etc.
property ElementFarbe: TColor;
property ElementGroesse: Double;
...
property ReferenzTyp: TTyp;
property ReferenzFarbe: TColor;
property ReferenzGroesse: Double;
...
Die implementiere Klasse hat da Getter die auf interne Daten zugreifen. Nun hätte ich das gerne so:
Delphi-Quellcode:
IElement=interface
property Typ: TTyp; //Kreis, Quadrat, etc.
property Farbe: TColor;
property Groesse: Double;
...
IMonster = interface
property Element: IElement;
property Referenz: IElement;
Damit könnte ich mir etliche Properties sparen.
Statt Monster.ReferenzFarbe schreibt man dann halt Monster.Referenz.Farbe.
Aber wie implementiert man das dann? Klar: TElement = class(TInterfacedObject, IElement). Aber dann muss diese Klasse ja noch TMonster kennen. Oder es bekommt die Daten bei der Erzeugung mit. Dann muss die Klasse aber jedesmal neu erzeugt werden oder es braucht eine Benachrichtigung wenn sich die Daten ändern.
Kann ich alles machen aber scheint mir recht aufwendig. (Nein - Datenhaltung in TElement kommt nicht in Frage)
  Mit Zitat antworten Zitat