Thema: OOP - Frage

Einzelnen Beitrag anzeigen

conti

Registriert seit: 10. Nov 2006
19 Beiträge
 
#3

Re: OOP - Frage

  Alt 19. Aug 2007, 21:36
Habe folgendes versucht:
Delphi-Quellcode:
  TMain = class(TObject)
  public
    constructor create;
    procedure init; virtual; abstract;
  end;

  TChild = class(TMain)
  public
    constructor Create;
    procedure init; override;
  end;

  TFrame = class(TObject)
  public
    procedure Go(obj: TMain);
  end;

var
  Form1: TForm1;
  c1: TChild; // c1 von Typ TChild

implementation

constructor TMain.create;
begin
  inherited;
  showMessage('Main');
end;

constructor TChild.Create;
begin
  inherited;
  showMessage('Child');
end;

procedure TChild.init;
begin
  // inherited;
  self.Create;
end;

procedure TFrame.Go(obj: TMain);
begin
  obj := TMain.create;
  obj.init;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  TFrame.Create.Go(c1); // c1 ist von Typ TChild
end;
Mein Ziel ist den Konstruktor der Kind-Klasse aufzurufen ... aber ich weiss nicht wie ich dass machen kann,
dabei kann ich in TFrame nur Objekte von Typ Basisklasse verwenden.


Würde mich auf eine Antwort freuen
Danke
  Mit Zitat antworten Zitat