1 unit tdefaultproperty1; 2 3 {$mode objfpc}{$H+} 4 5 interface 6 7 type 8 TNamedObj = class 9 public 10 Name: string; 11 end; 12 13 14 { TBaseObject } 15 16 TBaseObject = class 17 private GetObjectnull18 function GetObject(Index: Integer): TNamedObj; 19 public 20 property Objects[Index: Integer]: TNamedObj read GetObject; default; 21 end; 22 23 implementation 24 25 { TBaseObject } 26 TBaseObject.GetObjectnull27function TBaseObject.GetObject(Index: Integer): TNamedObj; 28 var 29 I: Integer; 30 begin 31 Self.Objects{declaration:tdefaultproperty1.TBaseObject.Objects}[I].Name{declaration:tdefaultproperty1.TNamedObj.Name}:=''; 32 Self[I].Name{declaration:tdefaultproperty1.TNamedObj.Name}:=''; 33 end; 34 35 end. 36 37