gpt4 book ai didi

java - 具有节点子类的树子类?

转载 作者:行者123 更新时间:2023-12-02 10:23:39 25 4
gpt4 key购买 nike

我正在用java编写这个。

我有一个二叉树类。它具有使用 Node 类的函数。我编写了二叉树 (TraversalTree) 的子类,并且获得了 Node 类 (OrderNode) 的子类。

如何让继承自BinaryTree的TraversalTree函数使用子类OrderNode?

public class BinaryTree {

public Node root; // starting node of the tree

public Node getRoot() {
return root;
}
}

public class Node {

private int value;
private Node left, right, parent;

//constructor
public Node(int value) {
this.value = value; // data value to be stored in node
left = null; // left child
right = null; // right child
parent = null; // parent node
}
}

这里是 OrderNode 的子类

public class OrderNode extends Node {

public int preOrder,postOrder, inOrder;

public OrderNode(int value) {
super(value);
}
}

然后在 BinaryTree 的子类中,TraversalTree。我希望它的子类 OrderNode 替换 BinaryTree 函数中的所有 Node 调用。

public class TraversalTree extends BinaryTree {

}

我尝试搜索了很多,但遇到了困难。也许我无法找到正确的搜索词。但无论如何,我似乎找不到任何相关信息。

最佳答案

您可以使用 super 来访问 super 变量并在 super 类引用变量中分配子类对象。

class TraversalTree extends BinaryTree {
public TraversalTree(OtherNode otherNode){
super.node=otherNode;
}
public OtherNode getRoot(){
return (OtherNode)super.getRoot();
}
}

这应该用 otherNode 替换所有节点。

关于java - 具有节点子类的树子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54139550/

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