Это может показаться возможным, но это не будет чисто функциональное программирование. Это может привести к необходимости программирования.
Нет никаких сомнений, почему он имел в виду возможное функциональное программирование, упомянутое Хайлем. Вот:
Это зависит от того, что вы подразумеваете под «функциональным программированием» и «возможным».
Функциональное программирование не может иметь разных определений или значений, хотя может иметь много объяснений.
Как ООП, мы можем спросить «что вы подразумеваете под ООП?».
Определенно будет много объяснений, но это будет относиться только к одной цели, цели ООП.
То же самое относится и к функциональному программированию .
Когда мы говорим функциональное значение, программы состоят из функций.
Роль функций состоит в том, чтобы возвращать вычисленный аргумент / параметр (аргумент переменная - это выражение, полученное при вызове функции, в то время как параметр переменная, которая является частью объявления функции).
Кроме того, функции всегда будут возвращать один и тот же результат при передаче одинаковых аргументов. Таким образом, легче избежать ошибок или отладить будущие ошибки. С помощью функционального программирования мы можем избежать побочных эффектов, таких как изменение глобальной переменной.
пример в JavaScript:
function increment(lis){
return lis.map(
function (x){
return x+2;
}
);
}
var myList = [4, 7, 2, 3];
console.log(increment(myList));
console.log(myList);
Функция приращения добавляет 1 значение к каждому элементу внутри объекта и возвращает результат. Значение myList не изменилось, но когда мы вызывали функции, мы увидели добавленную стоимость к элементам этого объекта.
Как мой ответ на Возможно ли функциональное программирование в Java? Я считаю, что невозможно иметь истинное функциональное программирование в Java. Потому что Java действительно разработан, чтобы быть ООП, в котором он расширяет императивное программирование и улучшает его для удобства обслуживания. Когда состояние объекта, переменной и т. Д. Изменилось, это уже является обязательным программированием.