Материалы

Презентация: Scala Implicits.pptx

Проект: lession11.zip

Задание

Необходимо реализовать функциональность работы с комплексными числами.

  1. Нужно определить методы в трейте org.mai.dep810.complex.Arithmetical необходимые для реализации всех требований
  2. Тип Complex[A](re: A, im: A) может принимать только переменные типов Int и Double в качестве вещественной и мнимой частей комплексного числа. Для этого нужно реализовать трэйт org.mai.dep810.complex.Arithmetical для операций с типами Int и Double в виде неявного типа.
  3. Реализовать сложение и вычитание комплексных чисел
  4. Реализовать неявное преобразование типа Tuple2[A, A] → Complex[A]
  5. Реализовать неявное преобразование типов ограничивающих тип A в Complex[A] в виде (a: A) → Complex[A](a, 0)
  6. Расширить классы ограничивающие тип A в Complex[A] методами:
    1. (a: A).real → Complext[A](a, 0)
    2. (a: A).imaginary → Complext[A](0, a)

Все необходимые ресурсы находятся в пакете org.mai.dep810.complex. Для проверки функциональности нужно раскоментировать код в объекте org.mai.dep810.complex.Main

  • Нет меток