前言
在面向对象领域中,方法(method)和函数(function)有什么区别和关联呢?
方法和函数的区别
在面向对象领域中,方法和函数的区别是:
定义不一样
- 函数是指一段可以直接被其名称调用的代码块
- 方法指的是一段被它关联的对象通过它的名字调用的代码块
与对象的关系不一样
- 函数独立于对象
- 方法依附在对象之上,可以在代码块内直接处理对象上的成员数据
传递的数据(比如参数)不一样
- 传递给函数的数据都是明文明确的
- 传递给方法的数据有部分是隐式的,其中隐式部分的数据主要是调用该方法的对象实例
可访问范围不一样
- 一般来说(在不考虑module、package等作用域的设计情况下),函数的可访问范围是全局性的,即可以在代码的任何地方访问到
- 方法的可访问范围由其访问修饰符决定,基本上其范围都局限在所依赖的对象内