du könntest dem Constructor der Unterklasse einfach die Oberklasse übergeben.
Delphi-Quellcode:
type
TUnterklasse = class(TIrgendwas)
private
fOberklasse: TOberklasse;
public
constructor Create(AOberklasse: TOberklasse);
procedure DoAnything();
end;
[...]
constructor TUnterklasse.Create(AOberklasse: TOberklasse);
begin
inherited Create();
fOberklasse := AOberklasse;
end;
procedure TUnterklasse.DoAnything();
begin
fOberklasse.DoAnything();
end;