我实现了一个AVL树。
所以,让我们说我有两个类,一个用不同类型的苹果解析XML,另一个用不同类型的橘子解析。
如果我在Apples_Parser.cs
类中实例化树,我怎样才能使用同一棵树加载从Oranges_Parser.cs
类加载到树中的不同类型的橙子?
这不是家庭作业,我只是简化了问题,使其更容易(没有提供代码,我不知道从哪里开始)
答案 0 :(得分:0)
您可以使用包含树实例的帮助程序类,然后在Apple_parser
和Oranges_Parser
类中使用该实例。
public static class AvlFactory
{
private static AvlTree _avlTree;
public static AvlTree AvlTree{ get {return _avlTree; }}
public static void InitializeTree()
{
_avlTree = new AvlTree();
}
}
然后在Apples_Praser
或Oranges_Praser
类:
if(AvlFactory.AvlTree == null)
{
AvlFactory.InitializeTree();
}
//Codes to load data to the tree
通过这种方式,首先使用的解析器将实例化树,而另一个只是向其添加数据。