Có vẻ như có thể nhưng nó sẽ không phải là một chương trình chức năng thuần túy. Nó có thể dẫn đến lập trình mệnh lệnh.
Không có câu hỏi tại sao ông có nghĩa là có thể lập trình chức năng như được đề cập bởi haylem. Đây là:
Nó phụ thuộc vào những gì bạn có nghĩa là "lập trình chức năng" và "có thể".
Lập trình hàm có thể có các định nghĩa hoặc ý nghĩa khác nhau mặc dù nó có thể có nhiều giải thích.
Giống như OOP, chúng ta có thể hỏi "ý của OOP là gì?".
Chắc chắn sẽ có rất nhiều lời giải thích nhưng nó sẽ chỉ liên quan đến một mục tiêu, mục tiêu của OOP.
Điều tương tự cũng áp dụng cho lập trình chức năng .
Khi chúng ta nói chức năng có nghĩa là các chương trình bao gồm các chức năng.
Vai trò của các hàm là trả về một đối số / tham số được đánh giá (đối số là biến là biểu thức xuất hiện khi gọi hàm trong khi tham số là biến là một phần của khai báo hàm).
Ngoài ra các hàm sẽ luôn trả về cùng một kết quả khi các đối số tương tự được thông qua. Theo cách đó, dễ dàng hơn để tránh các lỗi hoặc gỡ lỗi các lỗi trong tương lai. Bằng lập trình chức năng, chúng ta có thể tránh các tác dụng phụ như sửa đổi biến toàn cục.
ví dụ trong 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);
Gia số hàm thêm 1 giá trị cho mỗi phần tử bên trong đối tượng và trả về kết quả. Giá trị của myList không thay đổi nhưng khi chúng ta gọi các hàm, chúng ta đã thấy giá trị gia tăng cho các phần tử của đối tượng đó.
Theo phản hồi của tôi về Lập trình chức năng có thể có trong Java không? , Tôi tin rằng không thể có lập trình chức năng thực sự trong java. Bởi vì java thực sự được thiết kế để trở thành OOP, trong đó nó mở rộng lập trình bắt buộc và cải thiện nó để duy trì. Khi trạng thái của một đối tượng, biến vv, đã thay đổi, đó đã là một chương trình bắt buộc.