gpt4 book ai didi

delphi - 循环引用修复?

转载 作者:行者123 更新时间:2023-12-03 15:20:39 26 4
gpt4 key购买 nike

我在一个单独的单元中有一个 Player 类,如下所示:

TPlayer = class
private
...
FWorld: TWorld;
...
public
...
end;

我还在一个单独的单元中拥有世界级类(class),如下所示:

TWorld = class
private
...
FPlayer: TPlayer;
...
public
...
end;

我这样做是为了让Player可以通过FWorld从世界获取数据,并且世界中的其他对象也可以以类似的方式获取玩家数据。

正如您所看到的,这会导致循环引用(因此不起作用)。我读到这意味着糟糕的代码设计,但我只是想不出更好的其他方法。有什么更好的方法可以做到这一点?

干杯!

最佳答案

每隔一段时间就需要这样做,然后你就这样做:

//forward declaration:
TWorld = class;

TPlayer = class
private
FWorld: TWorld;
public
end;

TWorld = class
private
FPlayer: TPlayer;
public
end;

关于delphi - 循环引用修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com