我在一个单独的单元中有一个Player类,如下所示:
TPlayer = class
private
  ...
  FWorld: TWorld;
  ...
public
  ...
end;
我还在一个单独的单元中有一个世界级如下:
TWorld = class
private
  ...
  FPlayer: TPlayer;
  ...
public
  ...
end;
我这样做是为了让玩家可以通过FWorld从世界获取数据,这样世界上的其他对象就可以以类似的方式获取玩家数据.
正如您所看到的,这会导致循环引用(因此不起作用).我已经读到这意味着糟糕的代码设计,但我想不出更好的其他方式.什么是更好的方法呢?
干杯!
每隔一段时间就需要这个,然后你这样做:
//forward declaration:
TWorld = class;
TPlayer = class
private 
  FWorld: TWorld;
public
end;
TWorld = class
private
  FPlayer: TPlayer;
public
end;