方法和函数之间的区别

有人可以在OOP上下文中提供方法函数的简单解释吗?


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

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

  • 一个方法隐式地传递了它被调用的对象。
  • 一种方法能够对类中包含的数据进行操作(记住一个对象是一个类的实例 - 类是定义,对象是该数据的一个实例)。
  • (这是一个简单的解释,忽略了范围等问题)


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

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

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


    'method''function'的面向对象的单词。 这几乎是所有这一切(即,没有真正的区别)。

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

    真的 - 没有太多的东西,对于同样的东西只是不同的词。

    [后期添加]


    事实上,正如Brian Neal在对这个问题的评论中指出的那样,C ++标准在引用成员函数时从不使用术语“方法”。 有些人可能会认为C ++并不是真正的面向对象语言; 然而,我更愿意将其作为一个迹象表明,一群相当聪明的人不认为有一个特别强烈的理由来使用不同的术语。

    链接地址: http://www.djcxy.com/p/349.html

    上一篇: Difference between a method and a function

    下一篇: Is there a better way to do optional function parameters in JavaScript?