java二叉树模板抽象化-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

java二叉树模板抽象化

2016-06-02 11:31:49 2046 1

我有两个二叉树类,分别管理着不同的数据

class bt1{
//自身业务逻辑
String s;
public String getS(){
return "godness " + s;
}
//二叉树逻辑
bt1 left;
bt1 right;
bt1 parent;
public void setLeft(bt1 l){
    this.left = l;
        l.parent = this;
}
public bt1 getLeft(){
    return left;
}
public void setRight(bt1 r){
    this.right = r;
    right.parent = this;
}
public bt1 getRight(){
    return right;
}
public bt1 getParent(){
 return parent;
}
}
class bt2{
//自身业务逻辑
int i;
public void add(){
i++;
}
//二叉树逻辑
bt2 left;
bt2 right;
bt2 parent;
public void setLeft(bt2 l){
    this.left = l;
        l.parent = this;
}
public bt2 getLeft(){
    return left;
}
public void setRight(bt2 r){
    this.right = r;
    right.parent = this;
}
public bt2 getRight(){
    return right;
}
public bt2 getParent(){
 return parent;
}
}

有没有什么办法把两个类公共的二叉树逻辑部分提出来做为父类,两个类分别继承这个父类再只需实现自己的业务逻辑,就能达成原代码功能的?

取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 19:24:27

    其实关于二叉树的泛型实现,我觉得 树应该通用,其节点存储的数据为泛型比较理想,左右孩子和父节点的类型应该与创建的树的类型一致,
    你觉得呢?今天才看到,很抱歉

    class BTrees {
    protected BTrees<T> leftChild;
    protected BTrees<T> rightChild;
    T data;
    protected BTrees<T> parent; //非必需,半冗余数据
    public BTrees<T> getLeftChild() {
        return leftChild;
    }
    public void setLeftChild(BTrees<T> leftChild) {
        this.leftChild = leftChild;
    }
    public BTrees<T> getRightChild() {
        return rightChild;
    }
    public void setRightChild(BTrees<T> rightChild) {
        this.rightChild = rightChild;
    }
    public T getData() {
        return data;
    }
    public void setData(T data) {
        this.data = data;
    }
    public BTrees<T> getParent() {
        return parent;
    }
    public void setParent(BTrees<T> parent) {
        this.parent = parent;
    }
    }
    0 0
相关问答

1

回答

JAVA中为什么需要抽象类?

2022-04-03 18:16:13 501浏览量 回答数 1

1

回答

java中抽象类有什么优点吗?

2022-04-02 16:23:08 219浏览量 回答数 1

1

回答

Java中的抽象类为什么不能实例化 ?

2022-04-03 17:56:50 472浏览量 回答数 1

1

回答

java中抽象类的规定是什么?

2021-11-15 14:28:41 84浏览量 回答数 1

1

回答

Java中的抽象类具有什么特性呢?

2021-10-22 18:30:36 190浏览量 回答数 1

1

回答

我们可以在Java中使抽象方法静态化吗?

2020-04-23 23:01:46 168浏览量 回答数 1

2

回答

java抽象类怎么实例化

2018-05-10 20:08:25 2165浏览量 回答数 2

1

回答

java怎么创建抽象类

2018-05-10 20:07:13 1554浏览量 回答数 1

1

回答

java中抽象方法是什么

2018-05-10 20:07:31 1451浏览量 回答数 1

3

回答

java怎么继承抽象类

2018-05-10 20:09:20 1366浏览量 回答数 3
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载