type Base = class XYZW: T; procedure p(d: T); begin XYZW := d; end; end; Derived = class(Base) //XYZW: T1; end; begin var a := new Derived; a.p(2); a.XYZW := 2; Assert(a.XYZW=2); end.