Einzelnen Beitrag anzeigen

burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#1

Design-Frage "Klassen in anderen Klassen benutzen"

  Alt 20. Jan 2010, 22:22
Guten Abend allerseits,

hab hier mal eine Design-Frage. Kann man folgenden Code der über 3 Units geht besser gestalten,
ausser alles in einer Unit zu speichern. Da verlier ich nämlich sonst den Überblick.
Das ganze funktioniert zwar aber ich bin mir nicht sicher ob das "professionel" ist.
Ich poste hier auch nur die relevanten Teile und eine verkürzte Fassung, sprich die
Public-Variablen werden noch ersetzt.

Delphi-Quellcode:
unit UTestObj;

interface

uses
  Unit2, Unit3;

type
  TTestObj = class(TObject)
    private
      KlasseAusUnit2 : TKlasseAusUnit2;
      KlasseAusUnit3 : TKlasseAusUnit3;
     
    public
      constructor Create;
    end;

implementation

constructor TTestObj.Create;
begin
  inherited Create;
  KlasseAusUnit2 := TKlasseAusUnit2.Create;
  // KlasseAusUnit3 erstellen und KlasseAusUnit2 übergeben
  KlasseAusUnit3 := TKlasseAusUnit3.Create(KlasseAusUnit2);
  // Von KlasseAusUnit3 aus in KlasseAusUnit2 lesen und schreiben
  KlasseAusUnit3.TuWas;
  // weiter mit KlasseAusUnit2 arbeiten
  ShowMessage(KlasseAusUnit2.Blup.Wert);
end;
Delphi-Quellcode:
unit Unit2;

interface

type
  TKlasseAusUnit2 = class(TObject)
    public
      Blub : TIrgendeineKlasse;
      constructor Create;
    end;

implementation

constructor TKlasseAusUnit2.Create;
begin
  inherited Create;
  Blub := TIrgendeineKlasse.Create;
end;
Delphi-Quellcode:
unit Unit3;

interface

uses
  Unit2;

type
  TKlasseAusUnit3 = class(TObject)
    private
      UebergabeAusTestObj: TKlasseAusUnit2;
     public
       constructor Create(Test: TKlasseAusUnit2);
       procedure TuWas;
    end

implementation

constructor TKlasseAusUnit3.Create(Test: TKlasseAusUnit2);
begin
  inherited Create;
  UebergabeAusTestObj := Test;
end;

procedure TKlasseAusUnit3.TuWas;
begin
  UebergabeAusTestObj.Blub.Wert := 'Test';
end;

mfG burn
  Mit Zitat antworten Zitat