2014-02-06 101 views
-4

功能和方法有什么区别?
任何人都可以用适当的例子说出来吗?
并说明有什么区别?我们说一些例程称为函数,它称为方法?
在此先感谢功能和方法的区别

回答

0

函数或方法是一个指定的可调用代码块,它执行一些操作并可选地返回一个值。

c语言中使用了术语函数。 Java & C#人们调用这些方法(并且在这种情况下函数是在类/对象中定义的)。

C++程序员可能会称它为函数或有时方法(取决于它们是编写过程式C++代码还是正在做面向对象的C++方式)。

您可以通过只调用它调用一个函数就像result = mySum(num1, num2); 名字你会调用一个方法,通过引用其对象首先像

result = MyCalc.mySum(num1,num2); 

检查CubanAzucy的答案的链接。它已经在Stack Overflow上详细讨论过了。

0

函数是一段按名称调用的代码。它可以传递数据来操作(即参数),并可以选择返回数据(返回值)。

所有传递给函数的数据都被显式传递。

方法是一段代码,通过与对象关联的名称调用。在大多数方面,除了两个关键区别之外,它与功能相同。

它被隐式地传递给它被称为的对象 它能够操作类中包含的数据(记住一个对象是一个类的实例 - 类是定义,对象是该数据的一个实例)

一般而言:方法是属于某个类的函数,函数可以位于代码的任何其他范围内,因此您可以声明所有方法都是函数,但并非所有函数都是方法:

以下面的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类,可以合理地写一个函数“饲料”,因为它不属于任何类别,因为人类和狗类都可以饲料,你可以称它为函数,因为它不属于任何类别。

相关问题