Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 什么是输入/输出纯度?_Oop_Functional Programming - Fatal编程技术网

Oop 什么是输入/输出纯度?

Oop 什么是输入/输出纯度?,oop,functional-programming,Oop,Functional Programming,所以我是函数式编程的新手,也是OOP的新手。我从来没有听说过什么东西是纯的,或者说函数编程中输入/输出的纯是什么。我听说你不能在OOP中使用这个,但我真的找不到任何有用的东西。我只需要一个简单的“哦,这基本上就是输入缺少废话的地方,代码也因此能够废话的地方。”你可能在寻找本质上,这意味着你的代码不会产生副作用,函数具有引用透明性,即函数在任何上下文中的计算结果总是相同的。有一些语言试图使OOP与函数式编程相协调,Scala就是最好的例子。OOP在某种程度上是围绕可变性而构建的,但它不一定是可变性

所以我是函数式编程的新手,也是OOP的新手。我从来没有听说过什么东西是纯的,或者说函数编程中输入/输出的纯是什么。我听说你不能在OOP中使用这个,但我真的找不到任何有用的东西。我只需要一个简单的“哦,这基本上就是输入缺少废话的地方,代码也因此能够废话的地方。”

你可能在寻找本质上,这意味着你的代码不会产生副作用,函数具有引用透明性,即函数在任何上下文中的计算结果总是相同的。有一些语言试图使OOP与函数式编程相协调,Scala就是最好的例子。OOP在某种程度上是围绕可变性而构建的,但它不一定是可变性的。纯语言不直接执行效果,而是返回它们的描述供运行时系统执行。这允许在返回类型中捕获函数产生的效果。我不认为你有任何理由不能创建一个纯粹的OO语言,但是存在不纯净的FP语言。因此,区别是纯与不纯,而不是OO与FP。顺便说一句,不要避免阅读文档,因为它看起来“很深”。我敢打赌,如果你费心阅读wiki开头的两个要点,你就会明白它的要点。@Whats一个纯函数式语言(如Haskell)不会有副作用。如果您正在使用副作用,则不再使用FP。