Wenn das in allen Klassen implemnetiert ist, musst Du ja nur für die "neuen" Eigenschaften implementieren
Delphi-Quellcode:
TBasis = class
a,b: Integer;
procedure Assign( Source: TPersistent); virtual;
end;
TTeil = class
aa, zz: integer;
procedure Assign( Source: TPersistent); virtual;
end;
TAbg = class( TBasis)
c: TTeil;
d, e: Integer;
procedure Assign( Source: TPersistent); virtual;
end;
...
procedure TBasis.Assign( Source: TPersistent);
begin
a := Source.a;
b := Source.b;
end;
...
procedure TTeil.Assign( Source: TPersistent);
begin
aa := Source.aa;
zz := Source.zz;
end;
...
procedure TAbg.Assign( Source: TPersistent);
begin
inherited Assign( Source); //a, b
c.Assign( Source.c); //c
d := Source.d;
e := Source.e;
end;