功能和方法之间的区别

时间:2014-02-06 04:29:40

标签: c# javascript objective-c c oop

功能和方法有什么区别?
任何人都可以用合适的例子说出来吗? 并说有什么区别?我们说一些例程被称为函数,它被称为方法? 提前致谢

2 个答案:

答案 0 :(得分:0)

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

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

C ++程序员可能会将其称为函数或有时称为方法(取决于它们是否正在编写程序样式的c ++代码或者是否采用面向对象的c ++方式)。

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

result = MyCalc.mySum(num1,num2);

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

答案 1 :(得分: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类,那么只在该类中有一个bark函数是有意义的,那将是一个方法,如果你还有一个Person类,它可以有意义的是写一个函数“feed”,因为它不属于任何类,因为人和狗都可以被提供,你可以称之为函数,因为它不属于任何类。