我是一名来自德国的学生,所以可能为您的语言不好而感到抱歉。
我从讲师那里学习了Java基础知识,并且在理解上遇到了问题。
他已经教过我们有关OOP的基础知识,因此我知道如何生成所需类的对象,例如,使用ClassX myObject = new ClassX ();
和类似的简单东西。
但是,现在在这个新练习中,我们必须创建一个工具,该工具可以可视化排序算法并分析复杂性。讲师告诉我们:
用户使用该工具的可能方式可能是:
SortingTool sTool = new SortingTool();
sTool.setInitData(10,false);
sTool.performExperiment(Algorithms.INSERTIONSORT);
我很确定他的意思是我们要创建一个名为
Algorithms
的类,并在其中构造一个最终的对象,如下所示:public class Algorithms {
public final static Algorithms INSERTIONSORT = new Algorithms ();
有人可以解释一下这是如何工作的吗?特别是
performExperiment
的sTool
类应该从对象INSTERTIONSORT
获得什么。谢谢大家!
最佳答案
可能是这样的
interface Algorithms {
public static Algorithms INSERTION_SORT = new InsertionSort();
void sort(List<Integer> data);
}
public class InsertionSort implements Algorithms {
public void sort(List<Integer> data) {
// do insertion sort
}
}
sTool.performExperiment()
应该看起来像这样performExperiment(Algorithms algo) {
algo.sort(data);
}