接口的引用计数特性可以让我们方便地创建一个接口实例,它可以到处使用而无需手动释放内存。但是假如我们这个接口里面有很多数据项那就麻烦多了,得针对每个数据项分别写出其Get和Set方法,接口要写一遍,类还要写一遍。
举个例子,我们想把这个记录类型用接口的方式实现:
TRecord_Test = record
Data1: string;
Data2: Integer;
Data3: Double;
end;
通常的方法是这样的:
type
TInterface_Test = interface
function GetData1: string;
function GetData2: Integer;
function GetData3: Double;
procedure SetData1(const Value: string);
procedure SetData2(const Value: Integer);
procedure SetData3(const Value: Double);
property Data1: string read GetData1 write SetData1;
property Data2: Integer read GetData2 write SetData2;
property Data3: Double read GetData3 write SetData3;
end;
TClass_Test = class(TInterfacedObject, TInterface_Test)
private
FData2: Integer;