功能和方法之间的区别
这个问题在这里已经有了答案:
函数或方法是一个指定的可调用代码片段,它执行一些操作并可选择返回一个值。
在c语言中使用术语函数。 Java和C#人员调用这些方法(在这种情况下,函数是在类/对象中定义的)。
一个C ++程序员可能会把它称为一个函数或者有时是一个方法(取决于它们是在编写过程式c ++代码还是在做面向对象的c ++方式)。
你可以通过调用它的名称来调用一个函数,如result = mySum(num1, num2);
您可以通过首先引用其对象来调用方法
result = MyCalc.mySum(num1,num2);
检查CubanAzucy答案中的链接。 它已经在Stack Overflow上详细讨论过了。
函数是按名称调用的一段代码。 它可以传递数据来操作(即参数),并可以选择返回数据(返回值)。
传递给函数的所有数据都被显式传递。
方法是一段与名称关联的代码。 在大多数方面,除了两个关键区别之外,它与功能相同。
它隐含地传递了被调用的对象。它能够操作类中包含的数据(记住一个对象是一个类的实例 - 类是定义,对象是该数据的一个实例)
一般来说:方法是属于某个类的函数,函数可以位于代码的任何其他范围内,因此您可以声明所有方法都是函数,但并非所有函数都是方法:
以下面的python为例:
class Door:
def open(self):
print 'hello stranger'
def knock_door:
a_door = Door()
Door.open(a_door)
knock_door()
给出的例子显示了一个名为“Door”的类,它有一个名为“open”的方法或动作,因为它是在类中声明的,所以它被称为方法。 还有一部分代码在下面定义了一个函数“def”,它是一个函数,因为它没有在类中声明,这个函数调用我们在类中定义的方法,就像你看到的,最后函数正在称为“独自”。
正如你所看到的,你可以在任何地方调用一个函数,但是如果你想调用一个方法,你必须传递一个与声明该方法的类相同类型的新对象(Class.method(object)),或者你必须调用对象内部的方法(object.Method()),至少在python中。
把方法看作只有一个实体可以做的事情,所以如果你有一个Dog类,那么在这个类中只有一个树皮函数是有意义的,这将是一种方法,如果你还有一个Person类,它可能是有意义的编写一个函数“饲料”,因为它不属于任何类别,因为人类和狗类都可以饲料,并且可以称它为函数,因为它不属于任何类别。
链接地址: http://www.djcxy.com/p/17315.html