都用来实现一定的功能(甚至什么也不执行);不同点在于:通常方法作为一个特定类(抽象类或实例类)的成员而存在,而函数则既可以被类包含,也可以独立于某个类。
如果你是c/c++背景的程序员,那以前叫函数的东西现在c#叫方法。如果c#是你的第一个语言,忘记函数吧,在c#里没有函数的概念,都叫方法
C#中没有函数这一概念了,都是方法
函数是独立存在的(非面向对象),可以直接调用
而方法是依存于对象的(面向对象编程),必须使用:对象.方法,来调用
如果方法在对象体中,则可以直接调用
构造函数是和类名相同的方法,在创建类的实例时构造这个类的方法。不用调用,自动执行的。
成员方法是你自己定义的方法。调用时用class.methodname();
函数和方法没有本质区别,但是通常自己写的实现特定功能的代码块叫做方法,比如你写了一个类,定义了几个方法,很少说定义了几个函数。由系统间接或直接生成的不完整代码块叫做函数,不如“事件处理函数”,却很少说“事件处理方法”
C#中没有行为这个概念 而事件,方法,函数则有
事件,指的是一个类有可能会引发的一个调用,任何类都可以向一个有事件的类注册这个事件的监听,那么当事件引发时,类就会受到事件通知,从而响应。
方法,指的是一个类的一些操作,比如一个Car类他有一个Move的移动方法,表示这个车子可以移动的操作(Operation)。
函数,在C#里没有太严格的定义,我的理解是静态方法都可以称之为函数,因为函数一般不和类的实例相关,而静态方法具有这个特性。函数一般代表一个子操作,他会执行一些计算或者其他纯代码性的过程,比如Math类具有很多算数学的函数,比如计算三角的函数。
方法和函数只是不同的语言环境下的不同说法,他们都是一样的。都可以返回值。习惯上面向对象语言中用方法一词,也有例外就是构造函数,构造函数不称为构造方法,只是习惯问题。而在面向过程的语言中一般没有方法的说法,都叫做函数。但他们实质上从语法规则上看,基本一样,也就是定义的规则相同,调用的规则相同,当然也都可以有返回值或者都可以无返回值。
一个函数由这么几部分组成,函数名、参数个数、参数类型、返回值,就是把函数名字去掉以后剩下的东西(返回值、参数、调用方式等)。函数在重载时,利用函数签名的不同(即参数个数与类型的不同)来区别调用者到底调用的是那个方法。