Что доставляет параметр для метода, как ... (myClass.FINALOBJECT)? - PullRequest
0 голосов
/ 20 декабря 2018

Я студент из Германии, извините за плохой язык, может быть.

Я получил упражнение от своего лектора по основам Java, и у меня есть проблема в понимании.Он уже научил нас основам ООП, поэтому я знаю, как создать объект нужного класса, например, с помощью 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.

Спасибо всем заранее!

1 Ответ

0 голосов
/ 20 декабря 2018

Это может быть что-то вроде этого

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...