[edit]
jupp
[/edit]
Nja wenn, dann könnte man von Klassen ableiten, dieser erweitern und bliebe dennoch kompatibel zur Vorgängerklasse > Vererbung.
In meinem Fall wollte ich gerne mehrere Klassen nachträglich erweitern.
> wie z.B. TEdit, TMemo und Co.
Überschreiben wollte ich aber nur funktionen, welche schon in TWinControl vorhanden und somit überll gleich sind, on der Signatur her.
Nun muß ich aber jede Klasse einzeln erweitern, wo es einmal auch gereicht hätte.
Delphi-Quellcode:
type
TMyGen<T: TCustomEdit> = class(T)
protected
function GetText: String; override;
end;
TMyEdit = TMyGen<TEdit>;
TMyMemo = TMyGen<TMemo>;
Sowas geht ja eben auch nicht, da TMyGen<> kein Nachfahre von TEdit ist, obwohl man das glauben könnte.
Delphi-Quellcode:
type
TMyGen<T> = class(TEdit)
end;
Aber dafür bräuchte man eben einen Compiler, welcher nicht nur einmal durch den Code rauscht, also "weit" vorausschauend arbeiten kann,
bzw. welcher die Generics nicht gleich versucht in Code umzusetzen, sondern ihn eher als Macro interpretiert und dann später erst fertig compiliert, also bei dessen Nutzung.
Makros im Allgemeinen wären ja auch noch sooooo schlecht.
@Luckie:
Zitat:
egal ob es mit der/einer Programmiersprache zu tun hat oder nur allgemein mit dem Programmieren oder etwas damit Zusammenhängendem zu tun hat.