我有一个子对象,只实现了接口的一部分:
IMyTest = interface
procedure P1;
procedure P2;
end;
TMyTestP2Impl = class
procedure P2;
end;
TMyTest = class(TInterfacedPersistent, IMyTest)
private
FMyTestP2Impl : TMyTestP2Impl;
public
constructor Create();
destructor Destroy(); override;
procedure P1;
procedure P2;
end;
所以我必须将TMyTest.P2
写为以下形式:
procedure TMyTest.P2;
begin
FMyTestP2Impl.P2();
end;
我想知道是否有有效的语法将 TMyTest.P2
映射到 FMyTestP2Impl.P2
,而无需编写 TMyTest.P2
的实现。我的意思是类似以下的语法:
TMyTest = class(TInterfacedPersistent, IMyTest)
private
FMyTestP2Impl : TMyTestP2Impl;
public
constructor Create();
destructor Destroy(); override;
procedure P1;
procedure P2 = FMyTestP2Impl.P2;
end;
P2()
可以在另一个类中实现,而该类本身不必实现IMyTest
。 - Remy Lebeau