在Java中使一个数据结构驱动程序类适用于多种对象类型
我搜索了一下,发现了许多类似的问题,但没有一个是与Java相关的 我正在为我正在工作的项目实现一个BST,我希望它能够对多个对象类使用与记录相同的逻辑 例如,我想要一个BST驱动程序类,在这个类中,我可以使一个二叉树能够接受和构建带有水果、蔬菜、肉类等类型对象的树,这样我就不必为每种类型的对象创建一个BST驱动程序类在Java中使一个数据结构驱动程序类适用于多种对象类型,java,data-structures,binary-search-tree,Java,Data Structures,Binary Search Tree,我搜索了一下,发现了许多类似的问题,但没有一个是与Java相关的 我正在为我正在工作的项目实现一个BST,我希望它能够对多个对象类使用与记录相同的逻辑 例如,我想要一个BST驱动程序类,在这个类中,我可以使一个二叉树能够接受和构建带有水果、蔬菜、肉类等类型对象的树,这样我就不必为每种类型的对象创建一个BST驱动程序类 我对Java并不陌生,但到目前为止,我还不知道如何做到这一点。一般来说,您对Java和面向对象编程还是相当陌生的。这不是一件坏事,但认识到这一点,你会做得更好 这是一个接口类的作业
我对Java并不陌生,但到目前为止,我还不知道如何做到这一点。一般来说,您对Java和面向对象编程还是相当陌生的。这不是一件坏事,但认识到这一点,你会做得更好 这是一个接口类的作业 接口提供了两种功能:一种是可以操作的顶级对象,将实现视为理所当然;另一种是能够在实现接口的类将具有的最小操作集上与未来联系 例如,考虑车辆、自行车、汽车和别克的术语。如果我将这些实现为Java类,我会使Vehicle成为实现它的Bicycle和Car的接口。考虑以下事项:
public interface Vehicle {
public void move();
}
public class Bicycle implements Vehicle {
int wheels;
public Bicycle {
wheels = 2;
}
@Override
public void move() {
//implementation for steering/pedaling the bike
}
}
public class Car implements Vehicle {
int wheels;
int fuelCap;
public Car {
wheels = 4;
fuelCap = 12; //12 gallon tank
}
@Override
public void move() {
//logic to drive the car
}
}
现在,任何把车辆当作自行车或汽车的方法,但你只能保证它能够移动(尽管不能保证如何移动)。这对于返回类型更加有用,但为了简洁起见,我省略了它们。阅读有关该主题的教程。另一条与您的帖子相关但与我的答案无关的注释:您需要能够定量比较值,以便将它们存储在二元搜索树中。这是树属性的基础,因为它们是在插入时排序的。你可能有更多的细节,因为这闻起来像是家庭作业,但我必须问你一些你需要问自己的问题香蕉是更多、更少还是等同于汉堡包?“如果你不能回答这个问题,你就不能用BST来排序和存储这些数据。不,我刚才已经做完作业了。这就是我想学习更多Java的原因。谢谢你的解释!