Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Klassen die sich gegenseitig beinhalten (https://www.delphipraxis.net/53675-klassen-die-sich-gegenseitig-beinhalten.html)

Grishnak 21. Sep 2005 10:00


Klassen die sich gegenseitig beinhalten
 
Hallo!

Angenommen ich habe folgende Klassen:

Delphi-Quellcode:
type
  TParent = class
    FChildren: array of TChild;
  end;
und

Delphi-Quellcode:
type
  TChild = class
    FFather: TParent;
    FMother: TParent;
  end;
Muss ich dann beide Definitionen in eine Unit schreiben:

Delphi-Quellcode:
type
  TChild = class;

  TParent = class
    FChildren: array of TChild;
  end;

  TChild = class
    FFather: TParent;
    FMother: TParent;
  end;
Oder gibt es irgendeinen Trick, für jede Klasse eine eigene Unit zu nehmen? Mir ist bekannt, dass ich z.B. FChildren als auch "array of TObject" deklarieren kann und dann mittels "FChildren[i] as TChildren" arbeiten kann, aber das will ich nicht!

sakura 21. Sep 2005 10:15

Re: Klassen die sich gegenseitig beinhalten
 
In Delphi musst Du die in eine Unit schreiben. Wenn Du die Klassen unbedingt trennen willst, dann solltest Du eine abstrakte Basisklasse (also eine dritte) für mind. eine der Klassen deklarieren und diese dann in eine dritte Unit packen. Dann kannst Du das Gewünschte erreichen. Stellt sich nur die Frage, ob sich hier der Aufwand lohnt :?

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 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