为什么静态方法被视为方法?
2022-08-31 07:53:25
我正在为一门课程的一些代码编写解释,并且不小心使用了这些单词并可以互换。我决定回过头来修正措辞,但在我的理解上遇到了一个漏洞。method
function
据我所知,子例程是一个如果它不作用于类的实例(它的影响仅限于其显式输入/输出),并且是一个如果它对类的实例进行操作(它可能会对实例执行副作用,使其不纯)。function
method
这里有一个关于这个话题的很好的讨论。请注意,根据接受的答案的定义,静态实际上应该是一个函数,因为实例永远不会隐式传递,并且它无权访问任何实例的成员。method
但是,有了这个想法,静态实际上不应该是函数吗?methods
根据它们的定义,它们不对类的特定实例起作用;他们只是因为关系而“束缚”到阶级。我见过一些好看的网站,它们将静态子例程称为“方法”(Oracle,Fredosaurus,ProgrammingSimplified),所以要么他们都忽略了术语,要么我错过了一些东西(我的猜测是后者)。
我想确保我使用正确的措辞。
任何人都可以清除它吗?