函数和方法的区别
转载
摘录
经常讲函数和方法,经常搞不懂它们之间的界限,经常把两者混为一谈。首先,这两者是怎么定义的?
() 是一个可执行代码块,由程序定义或由实现预定义。函数可以采用实际参数或形式参数,指定一个或多个值用于函数进行计算,也可以返回一个值来表示计算的结果。
() 是通过对象调用的函数。换句话说,方法也是函数,只是特殊函数。假设有一个函数fn和一个对象obj,那么你可以定义一个:
我一直对一些概念感到困惑,例如“面向对象”、“类”和“实例化”。
希望有人能用简洁的术语帮助我解释 () 和 () 之间的区别。找到的那些答案对我来说太难理解了。谢谢。
这个问题也在 2008 年 9 月 30 日被问到。
让我们先看看被选为最佳答案的回复(来自 ):
函数是一段按名称调用的代码。它可以将一些数据(参数)传入其中进行处理,然后返回一些数据(返回值),或者不返回值。
所有传递给函数的数据都是显式传递的。
方法也是一段代码,也按名称调用,但与对象相关联。方法和功能大体相同,主要有两点不同:
方法中的数据是隐式传递的;方法可以在类内部操作数据(请记住,对象是类的实例化 - 类定义数据类型,对象是该数据类型的实例化)
以上只是简要说明,忽略范围等问题。
除了拉菲的回答:
到1),你应该添加“方法在C++中被称为成员函数”。因此,C++中“方法”和“函数”的区别就是“成员函数”和“函数”的区别。还有,像Java这样的编程语言只有“方法”。所以这就是“静态方法”和“方法”的直接区别。
对于2),您应该添加方法来操作在类中声明的私有实例(成员)数据。所有其他代码都可以访问公共实例数据。
亚伦的回答:
方法与对象相关;
函数与对象无关。
在Java中只有方法方法,在C中只有函数方法,在C++中取决于它是否在一个类中。
tags:
实例化