方法与函数的区别是什么?
在c\c++语言中叫函数,在java中叫方法,然后在Python中又叫函数,有什么区别吗? 面向对象的语言中叫方法一个对象有n个方法函数是function 面向过程的语言是函数 本帖最后由 无阻 于 2021-8-17 14:48 编辑
一般是指函数是独立,正常来说是没有全局变量等内存地址共享的的额外开销使用的
如果需要对某特定输入的结果进行计算一般来说需要你手动声明变量初始化之后传进去得到ret结果。函数执行完毕之后会把内部声明的变量之类的东西都清空掉。函数得到的结果需要你手动声明变量保存
方法一般都是object或者class的说法
对象或者说类声明初始化之后你对里面的对象进行方法操作之后结果会是保存在object的属性之中。除非你执行对象的销毁方法
不然你声明了一个类的a属性=1之后这个类之后的a属性永远都等于1除非你去修改他或者销毁他
一般来说对象是function的集合体
好处是可以不用记住各种函数的命名是针对于谁使用的
比如a.b()就是a对象的b方法
在c对象你未声明的话是不会有b方法的
这样就可以避免函数b(c)用b函数传入c参数导致的错误
等价于只有b(a)才能使用b函数
方法和函数 如果在代码中写出来其实是一个东东.
唯一不同的就是赋予它的意义.
比如二楼说的. 你要是写面向对象程序, 人家说方法那你就会去类中去查看这个方法.
如果说某某函数.那么你就不去类中查看. 看看哪里定义了这个函数.
你在家里是儿子,在单位叫员工。
在类里叫方法,在类外叫函数 我是认为函数跟方法是完全不一样的概念。
我觉得,函数(Function)应当是类具备的过程。比如有的工具类,不需要创建对象就可以直接调用其过程。像c++中,有一个头叫cmath的,引入以后可以直接使用例如开平方或者幂运算这种的,我称这些为函数。
方法(Method)是对象对外开放的过程。比如定义了一个“狗”类,生成了一个“边境牧羊犬”对象,可以让这个“边境牧羊犬”进行“狂吠”,这个“狂吠”我就管它叫方法。
但其实我感觉这个东西不同的人有不同的理解吧 按照相同来理解就行了 方法是对象的,得对象加"."才能调出方法(如果是静态类就类加.)
函数就直接输函数名调用 本质上没啥区别,叫法不同而已。 在js中,函数就是方法