Страницы

Поиск по вопросам

среда, 4 марта 2020 г.

Возможно ли реализовать перегрузку операции () в Java?

#java #перегрузка_операторов #операторы


Создать несколько объектов  (например, a и b) разработанного класса.
Класс – вектор (одномерный массив). Реализовать для объектов данного
класса перегрузку операции  ():   (a(i)=b(j)).
    


Ответы

Ответ 1



В vanilla/plain Java нет перегрузки операторов. Да, но если очень сильно постараться, то можно изобразить - через плагины к Java компилятору. Есть например решение по перегрузке арифметических операторов - со скобками конечно будет сложнее. Но если хорошо подумать, наверное можно выкрутиться.

Ответ 2



Нет, переопределить поведение операторов в Java нельзя. В таких случаях обычно берут пример с List и создают методы get и set: a.set(i, b.get(j)); В принципе для данного класса будет логично реализовать интерфейс List или воспользоваться одной из готовых реализаций (если задание допускает использование стандартных классов). Также можете посмотреть в сторону языка Kotlin, он работает под JVM и предоставляет много синтаксического сахара, в том числе переопределение оператора ().

Комментариев нет:

Отправить комментарий