——摘自《Java从入门到精通》
我们在学习Java中经常会遇到“方法”这个概念,而在学习C语言或者C++时,又会遇到“函数”概念,语言都是相通的,那二者又有什么区别和联系呢?
(1)“函数”是一段实现某种“功能”的代码,函数的操作是对输入数据的处理。
函数的英文function恰恰有“功能”的含义,可以达到“见名知意”。通过函数的名称来实施函数调用。它能将一些数据(也就是参数)传递jQuery进行处理,然后返回一些数据(即函数的返回值),也可以没有返回值。所有传递给函数的数据都是显式传递的。而方法的参数传递通常是隐式的,它可以直接操作类内部的数据。
(2)“方法”也是一段完成某项功能的代码,也通过名字来进行调用,但它依赖于某个特定的对象。
例如,我们可以说“调用对象X的Y方法”,而不能说“调用Y方法”。简单来说,方法和对象相关;而函数和对象无关。
因为Java是一门完全面向对象编程的语言,所以在Java中只有方法。
C语言white面向过程的编程语言,所以在C语言中只有函数。
C++是C语言的超集,既支持面向对象编程,也支持面向过程编程。在C++中,如果一个函数独立于类外,那它就是函数。如果它存在于一个类中,那它就是方法。所不同的是,C++给这种特殊的方法取了一个新名称——成员函数(member function)。