方法和功能有什么区别?是方法返回值而函数不是吗?
答案 0 :(得分:138)
方法是实际上是类/对象的上下文中使用的函数。
当您在类/对象之外创建函数时,可以将其称为函数,但是当您在类中创建函数时,可以将其称为方法
class foo {
public function bar() { // a method
........
}
}
function bar() { // a function not part of an object
}
所以对象可以有方法(函数)和属性(变量)。
答案 1 :(得分:7)
这些词语并不相互对立,而是描述了子程序的两个可能方面。尝试定义单词如下:
子程序:一组可在同一程序中多次使用的指令。
功能:返回值的子程序。源自数学中的函数(wikipedia)。
方法:属于对象或类的子例程。可能是一个功能。
对于每个没有副作用的子程序,我倾向于使用“function”这个词,但是每个子程序都会返回一个清除值和“method”一词。
答案 2 :(得分:5)
表达式“method”和“function”之间的区别在于“method”是类的成员函数,而独立函数则不是,并且独立函数通常存在于全局上下文中。
答案 3 :(得分:2)
两者可互换使用,但函数是结构语言中使用的术语,而方法是面向对象语言中使用的术语。此外,对象存在于对象中,而函数也可以在没有对象的情况下存在。
答案 4 :(得分:2)
函数是在过程式编程方法中使用的通用术语,其中Method是在面向对象的编程方法中用于定义类属性的术语。
答案 5 :(得分:1)
我们在类中定义方法,我们定义函数out side class,函数不是class
的一部分答案 6 :(得分:0)
在一行中,方法是一个函数,但函数不一定是方法。不同之处在于,方法用于描述在与这些类的实例一起使用的类中定义的函数。
package {class Example {
public function iAmAMethod():void {
addEventListener("listenerFunctionIsNotAMethod", function(event:Event):void {
trace("inline function, yay!");
});
}
}
答案 7 :(得分:0)
方法和功能是相同的东西,但它们的上下文不同。 类中的函数称为方法。喜欢:
class foo{
function bar(){ //code }
}
在这种情况下 bar() 是一种方法。要执行此方法,您必须创建一个 foo 类的对象并像这样调用它 $foo->bar();
你可以在类之外写一个函数。
bar(){ //code }
你可以称之为 bar()