我对接口有一个小问题。这是伪代码:
type
Interface1 = interface
end;
Interface2 = interface
end;
TParentClass = class(TInterfacedObject, Interface1)
private
fChild : Interface2;
public
procedure AddChild(aChild : Interface2);
end;
TChildClass = class(TInterfacedObject, Interface2)
private
fParent : Interface2;
public
constructor Create(aPArent : Interface1);
end;
任何人都可以看到缺陷吗?我需要孩子引用它的父母,但在这种情况下引用计数不起作用。如果我创建一个 ParentClass 实例并添加一个子类,则永远不会释放父类。我明白为什么了。我如何绕过它?