方法(method)和函数(function)有什么区别?

开发 前端
希望有人能用简洁的话语帮我解释下方法(method)和函数(function)的区别。在google上找到的那些答案对我来说太难理解了。

“我用了很久的Applescript,但在shell脚本设计方面还是个新手。为了提高脚本性能,我想要多了解一些常用的脚本语言,譬如Javascript或Python。 

有些概念我一直很困惑,譬如“面向对象”、“类”和“实例化”。 

希望有人能用简洁的话语帮我解释下方法(method)和函数(function)的区别。在google上找到的那些答案对我来说太难理解了。 谢谢。

这个问题还是 willc2 在 2008 年 9 月 30 日在 StackOverflow 上提问的。

下面先来看看被选为***答案的回复(来自  Andrew Edgecombe ):

函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。

所有传递给函数的数据都是显式传递的。

方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:

  1. 方法中的数据是隐式传递的;
  2. 方法可以操作类内部的数据(请记住,对象是类的实例化–类定义了一个数据类型,而对象是该数据类型的一个实例化)

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

Raffi Khatchadourian 对 Andrew Edgecombe 答案的补充:

对于 1),你应当再加上“ 方法在 C++ 中是被称为成员函数”。因此,在 C++ 中的“方法”和“函数”的区别,就是“成员函数”和“函数”的区别。此外,诸如 Java 一类的编程语言只有“方法”。所以这时候就是“静态方法”和“方法”直接的区别。

对于2),你应当补上方法可以操作已在类中声明的私有实例(成员)数据。其他代码都可以访问公共实例数据。

Aaron 的回答:

方法和对象相关;

函数和对象无关。

Java中只有方法,C中只有函数,而C++里取决于是否在类中。

原文链接:http://blog.jobbole.com/44230/

译文链接:http://blog.jobbole.com/44230/

责任编辑:陈四芳 来源: 伯乐在线
相关推荐

2023-11-29 07:47:29

Golang函数

2020-03-09 20:56:19

LoRaLoRaWAN无线技术

2022-06-06 14:53:02

LoRaLoRaWAN

2022-09-07 18:32:57

并发编程线程

2020-11-09 14:07:53

PyQtQt编程

2022-09-08 18:38:26

LinuxWindowsmacOS

2022-08-02 08:23:37

SessionCookies

2024-03-05 18:59:59

前端开发localhost

2024-05-27 00:40:00

2021-05-16 14:26:08

RPAIPACIO

2022-02-27 15:33:22

安全CASBSASE

2024-09-09 13:10:14

2021-12-17 14:40:02

while(1)for(;;)语言

2020-07-28 07:59:21

线程池SubmitExecute

2023-02-01 08:11:40

系统调用函数

2022-08-31 08:33:54

Bash操作系统Linux

2023-12-15 09:21:17

ObjectJavaString

2022-08-22 07:06:32

MyBatisSQL占位符

2022-01-16 07:46:53

SpringDataASSM

2021-09-06 10:45:18

XDRMDR
点赞
收藏

51CTO技术栈公众号