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.