【发布时间】:2020-03-27 16:55:07
【问题描述】:
我刚刚查找了一些关于函数式编程和 OOP 之间差异的示例/定义。我发现了一个我认为很有趣的定义,并且我理解 OOP 部分,但需要对函数式编程部分进行一些清晰/示例。
“函数式编程倾向于重用一组通用的函数式实用程序来处理数据。面向对象的编程倾向于将方法和数据放在对象中。”
功能实用程序是什么意思?我得到了一般的 OOP,所以这个定义对我来说很有意义。提前致谢
【问题讨论】:
-
你无法通过理解橙子来理解苹果。你仍然需要检查苹果。
-
您能否详细说明此评论?我认为下面的回复和 cmets 有助于澄清我对原始陈述的理解
-
您应该研究与 OOP 中的子类化和方法重载有很大不同的类型类/临时和参数多态性。您应该研究代数数据类型以及它们如何允许通过替代而不是 OOP 中的层次结构来构造数据。您应该考虑处理值之类的效果以及如何组合纯函数和不纯函数,而不是将消息从一个对象发送到另一个对象,等等。
标签: java scala oop functional-programming