我是来自德国的学生,对不好的语言表示抱歉.
我从我的讲师那里学习了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 ();
有人可以解释一下这是如何工作的吗?特别是sTool的performExperiment -class应该从对象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);
}