改变或不变异状态的方法的术语



是否有现成的术语来指代改变或不改变对象状态的方法?

例如,描述一类函数的一个公认术语:"幂等"。

纯函数是一个公认的术语,指的是仅依赖于其输入参数的操作。它既不访问也不变异任何非本地状态。程序设计中纯函数的概念源自数学函数。纯函数的反面是不纯函数,它可能执行IO、产生副作用或对非局部状态有一些依赖性。

请注意,纯函数的定义比这个问题所要求的更严格,因为纯函数不仅禁止对象状态的突变,还禁止访问对象状态。为了找到一个适合纯函数和非纯函数的定义,我们可以考虑方法和函数之间的区别。通常,这两个术语被合并为一个无定形的抽象概念;但对于这个问题,我们将使用更精确的含义:方法与对象耦合,而函数是独立的。

从这个简单的定义中,我们自然而然地得出了纯方法的概念。纯方法只是一个有一个区别的纯函数:除了输入参数外,该方法还隐式接收对其封闭对象的引用,就好像它有一个额外的参数一样。

我不能说纯方法这个术语和纯函数一样是完全成立的;但如果我们把纯函数的定义和方法的定义放在一起,那么我认为纯方法的定义直观地遵循。因此,为了回答这个问题,pure是通常用于指示突变存在或不存在的关键词。

相关内容

最新更新