方法和函数之间有什么区别?

2024-04-25 04:31:13 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

'method'是面向对象的“函数”一词。这几乎就是它的全部(即,没有真正的区别)。

不幸的是,我认为这里的很多答案都在延续或推进一种观点,即存在一些复杂的、有意义的差异。

真的-没有那么多,只是对同一件事用不同的词。

[延迟添加]


实际上,当Brian Neal在注释^ ^ a2}中指出时,C++标准在引用成员函数时从不使用术语“方法”。有些人可能认为C++不是真正的面向对象语言,但是,我更愿意把它看作是一个聪明的人认为使用不同术语的特别有力的理由。

方法在对象上。
函数独立于对象。

对于Java,只有方法。
对于C,只有函数。

对于C++来说,这取决于你是否在课堂上。

函数是一段按名称调用的代码。它可以传递要操作的数据(即参数),也可以选择性地返回数据(返回值)。传递给函数的所有数据都是显式传递的。

方法是由与对象关联的名称调用的一段代码。在大多数情况下,它与功能相同,但有两个关键区别:

  1. 方法被隐式地传递给调用它的对象。
  2. 方法能够操作类中包含的数据(记住,对象是类的实例——类是定义,对象是该数据的实例)。

(这是一个简化的解释,忽略了scope等问题。)

相关问题 更多 >