Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#9

Re: Alter Proggramierer - neuer Schnick-Schnack: Klassen :-(

  Alt 6. Jun 2007, 23:47
Hallo Uwe!

Zitat von Uwe.F.:
Wo muss ich "inherited create;" aufrufen????
In Deiner Klasse ist es nicht nötig. Wenn man Klassen ableitet und ein Create mit "override;" überschreibt wird dies in der Regel notwendig.

Zum Beispiel für eine Klasse, die von TCustomControl ableitet:

Delphi-Quellcode:
type TMeineKlasse = class(TCustomControl)
  ...
  public
     constructor Create(AOwner: TComponent); override;
  ...
end;
Das "override" sagt hier, daß es Create ja schon in der Basisklasse gibt. Also möchte ich auch in meinem Create in meiner Klasse, daß alles, was im TCustomControl.Create gemacht wird auch bei mir gemacht wird. Deswegen das "inherited".

Das stünde dann hier:
Delphi-Quellcode:
constructor TMeineKlasse.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  [i]MeineAnpassungen hier;[/i]
end;
Wobei man auch "inherited;" oder manchmal "inherited Create;" nutzt. Je nach Ursprungklasse.

Ich bin selber auch erst seit Ende letzten Jahres in Delphi dabei und mußte mich ganz schön "reinwurschteln".

Zusätzlich möchte ich einmal sagen, daß ich es ganz beeindruckend finde, von einem "alten Programmierer" zu lesen, der sich so fit in der Programmierung hält. Respekt!

Viel Spaß weiterhin mit Delphi!

Gruß winkel79
Frederik
  Mit Zitat antworten Zitat