Thema: Delphi inherited

Einzelnen Beitrag anzeigen

Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#3

Re: inherited

  Alt 19. Jun 2009, 10:23
Dazu hätte ich jetzt auch mal eine Frage.

Ziemlich oft habe ich Konstrukte wie folgende:

Delphi-Quellcode:
unit Unit1;

interface

type
  TBossClass = class(TObject)
  private
    Fv1: Integer;
  public
    constructor Create(v1: Integer);
  end;

  TChildClass = class(TBossClass)
  private
    Fv1, Fv2: Integer;
  public
    constructor Create(v1, v2: Integer);
  end;

  TSubChildClass = class(TChildClass)
  private
    Fv1, Fv2, Fv3: Integer;
  public
    constructor Create(v1, v2, v3: Integer);
  end;

implementation

constructor TBossClass.Create(v1: Integer);
begin
  Fv1 := v1;
end;

constructor TChildClass.Create(v1, v2: Integer);
begin
  inherited Create(v1);
// inherited; // <-- geht leider nicht ;(
  Fv2 := v2;
end;

constructor TSubChildClass.Create(v1, v2, v3: Integer);
begin
  inherited Create(v1, v2); // Wie ich so Fehler wie Create(v2, v1); hasse! Da sucht man Stunden nach! ._0
// inherited; // <-- geht immer noch nicht ;(
  Fv3 := v3;
end;

end.
Es gibt eine Oberklasse, von der ich immer mehr und immer weiter abgeleite, bis ich dann irgendwann am 'Endobjekt' bin.
Von diesen 'Endobjekten' muss ich dann oftmals ziemlich viele erstellen, da nervt es einfach immer wieder "inherited BluppMethode(MilliardenVonParametern, ....)" aufzurufen. Das ist nachher einfach nur noch ein erheblicher Zeitaufwand und wie ich gemerkt habe schleichen sich da schnell Flüchtigkeitsfehler ein. (Falsche Parameterreihenfolge)

Jetzt die eigentliche Frage:
Gibt es nicht irgendeine Möglichkeit, um die übergeordnete Methode mit deren normalen Parametern aufzurufen, ohne deren Parameter immer neu anzugeben?
(Beim überschreiben der Methoden kommen bei mir immer nur neue Parameter hinten dran)

Edit:
Ansonsten versuch ich mal ein IDE-Plugin zu schreiben.
  Mit Zitat antworten Zitat