Moin.
Hab da mal ne konzeptionelle Frage. Um ein möglichst einfaches Beispiel zu nennen sagen wir mal ich habe die Objekte ObjectA, ObjectB und ObjectC. ObjectC ist ein Member von ObjectB und ObjectB ist ein Member von ObjectA.
Also so (ohne die restlichen Memberfunktionen):
Delphi-Quellcode:
type
TMyClassA = class(TObject)
private
ObjectB: TClassB;
public
end;
TClassB = class(TObject)
private
ObjectC: TClassC;
public
end;
TClassC = class(TObject)
private
public
end;
Wenn nun aber ObjectA und ObjectC miteinander kommunizieren sollen (also ObjectA ruft Memberfunktionen von ObjectC auf) muss ich ja für jede Meberfunktion in ObjectB eine 'Durchreichfunktion' schreiben.
Das kann im wahren Leben sehr viel und unübersichtlich werden.
Eine Lösung wäre ObjectC in ObjectB pulic zu setzen. Dann könnte ObjectA direkt auf ObjectC zugreifen. Aber man soll Felder ja nie pulbic machen.
Wie löst man das am elegantesten?