美文网首页
function(函数)和method(方法)

function(函数)和method(方法)

作者: 金没日成 | 来源:发表于2017-01-02 16:00 被阅读87次

    “我用了很久的 Applescript,但在 shell 脚本设计方面还是个新手。为了提高脚本性能,我想要多了解一些常用的脚本语言,譬如 Javascript 或 Python。
    有些概念我一直很困惑,譬如 “面向对象”、“类” 和 “实例化”。
    希望有人能用简洁的话语帮我解释下方法(method)和函数(function)的区别。在 google 上找到的那些答案对我来说太难理解了。
    谢谢。”
    这个问题还是 willc2 在 2008 年 9 月 30 日在 StackOverflow 上提问的。

    下面先来看看被选为最佳答案的回复(来自** Andrew Edgecombe ):**
    函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。
    所有传递给函数的数据都是显式传递的。
    方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:
    方法中的数据是隐式传递的;
    方法可以操作类内部的数据(请记住,对象是类的实例化–类定义了一个数据类型,而对象是该数据类型的一个实例化)

    以上只是简略的解释,忽略了作用域之类的问题。

    Raffi KhatchadourianAndrew Edgecombe 答案的补充:
    对于 1),你应当再加上 “方法在 C++ 中是被称为成员函数”。因此,在 C++ 中的 “方法” 和 “函数” 的区别,就是 “成员函数” 和 “函数” 的区别。此外,诸如 Java 一类的编程语言只有 “方法”。所以这时候就是 “静态方法” 和 “方法” 直接的区别。
    对于 2),你应当补上方法可以操作已在类中声明的私有实例(成员)数据。其他代码都可以访问公共实例数据。

    Aaron 的回答:
    方法和对象相关;
    函数和对象无关。
    Java 中只有方法,C 中只有函数,而 C++ 里取决于是否在类中。

    关于 “方法” 和 “函数” 之间的区别,欢迎其他朋友在评论补充自己观点。

    相关文章

      网友评论

          本文标题:function(函数)和method(方法)

          本文链接:https://www.haomeiwen.com/subject/ndbwvttx.html