方法和函数有什么区别?

方法和函数有什么区别? 是一个方法返回一个值,一个函数不?

方法实际上是一个在类/对象上下文中使用的函数

在类/对象之外创build函数时,可以将其称为函数,但在类中创build函数时,可以将其称为方法

class foo { public function bar() { // a method ........ } } 

 function bar() { // a function not part of an object } 

所以一个对象可以有方法(函数)和属性(variables)。

这些词不是相互对立的,而是描述子程序的两个可能的方面。 试图定义的话如下:

子程序:一组可以在同一程序中使用多次的指令。

function:返回值的子程序。 派生于math函数( 维基百科 )。

方法:属于对象或类的子例程。 可能是一个function。

我倾向于对每个没有副作用的子程序使用“function”一词,但是对于有副作用的每个子程序返回一个明确的值和“方法”一词。

“方法”和“函数”这两个expression式之间的区别在于,“方法”是一个类的成员函数,而独立函数不是,独立函数通常存在于全局上下文中。

两者可互换使用,但function是结构语言中使用的术语,方法是面向对象语言中使用的术语。 对象中也存在方法,而函数也可以不存在对象。

函数是在程序编程方法中使用的通用术语,其中方法是在面向对象编程方法中用来定义类属性的术语。

我们在类里面定义方法,我们定义函数出来的是类的,函数不是类的一部分

在一行中,一个方法是一个函数,但函数不一定是一个方法。 不同之处在于,使用一种方法来描述与这些类的实例一起使用的类中定义的函数。

 package {class Example { public function iAmAMethod():void { addEventListener("listenerFunctionIsNotAMethod", function(event:Event):void { trace("inline function, yay!"); }); } 

}