Na, du lässt es einfach bei "self.s := Source" und lässt den Rest weg. TGraphicObject braucht keine Eigenschaften die schon in TElement stehen - die kann es sich ja von TElement holen. Also etwa
Delphi-Quellcode:
type
TGraphicObject = class
private
Element: TElement;
function GetColor: TColor;
...
public
...
property Color: TColor read GetColor;
end;
...
function TGraphicObject.GetColor: TColor;
begin
if Assigned(Element) then
Result := Element.Color
else
...;
end;
Und Thema Design Patterns: Die lernt man nicht "mal eben", mach also unbedingt weiter wie bisher aber befass dich vielleicht mal in der Zukunft damit.