Материал предоставлен https://it.rfei.ru

Упражнение на программирование

6.1.

Объявите интерфейс Function, который будет содержать метод evaluate, который получает параметр типа int и возвращает значение типа int. Создайте класс Half, который реализует Function. Реализуйте метод evaluate(), так чтобы он возвращал значение, полученное делением своего параметра типа int на 2.

В клиенте создайте метод, который получает произвольный массив значений типа int и возвращает массив такой же длины, но значения элементов в новом массиве составляют только половину по сравнению со значениями элементов в массиве, переданном как параметр. В реализации метода создайте экземпляр типа Half и используйте его для вычисления значений возвращаемого массива.

6.2.

Перепишите метод, который оперирует массивами из предыдущего задания: в методе следует использовать ссылку типа Function как аргумент и использовать this вместо создания экземпляра Half.

Создайте класс Print, который реализует Function и содержит метод, который просто выводит целое значение, переданное как аргумент, а также возвращает это значение.

Теперь напишите программу, которая создает массив целых значений от 1 до 10 и делает следующее.

  1. Печатает массив с помощью экземпляра класса Print и метода, описанного ранее.
  2. Уменьшает вполовину значения массива и печатает их снова, используя классы Half и Print, а также метод, описанный выше.
Объектно-ориентированное программированиеУрок 7. Вложенные классы и интерфейсы