为了账号安全,请及时绑定邮箱和手机立即绑定

谈谈 java lamda 和 oop

谈谈 java lamda 和 oop

长风秋雁 2021-11-11 16:35:16
我们知道 Java 是一种 OOP 语言,从 Java 8 开始,我们可以使用 Lambda。但是我有一些问题,希望有人能给我一些建议。动作和方法有什么区别?Lambda 定义了一个动作,它似乎违反了 OOP。我们过去常常在对象中编写方法来定义其操作。然后我们通过关键字 new 获得该对象的实例。那个实例有它的字段和方法,所以它变成了一个主题,一个角色。但是 Lambda 只是破坏了这种结构。我想知道如何在项目中正确使用Lambda。
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

Java 是一种 OOP 语言,但在过去的几年里,Java 和许多其他重要的语言一样,试图变得更加 FP(例如 C++,以及最近添加的所有 FP 支持)。

函数式编程的一个核心元素:高阶函数。“做某事的代码”变成了你可以自己定义并传递的东西。

所以,是的,在严格的 OOP 意义上,lambdas 和闭包看起来很尴尬。但是 Java 只是在这里遵循特定的趋势。

而且,现在个人意见:Java 这样做是为了保持相关性。OOP 概念被“发明”来解决一组非常具体的问题,并且可以使用 FP 范式以更好/优雅的方式表达/解决许多其他问题。


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信