方法和函数之间有什么区别?
2022-08-30 09:28:02
方法和函数之间有什么区别?是一个方法返回一个值,而一个函数不返回一个值吗?
方法实际上是在类/对象的上下文中使用的函数。
在类/对象外部创建函数时,可以将其称为函数,但在类内创建函数时,可以将其称为方法。
class foo {
public function bar() { // a method
........
}
}
function bar() { // a function not part of an object
}
因此,对象可以具有方法(函数)和属性(变量)。
这些词并不相互对立,而是描述了子例程的两个可能方面。下面尝试定义这些词:
子程序:可以在同一程序中多次使用的一组指令。
功能:返回值的子例程。源自数学中的函数(维基百科)。
方法:属于对象或类的子例程。可以是一个函数。
我倾向于对每个没有副作用但返回一个明确值的子例程使用单词“function”,对于每个有副作用的子例程返回单词“method”。