有关类的成员方法有以下相关的知识点
    1.成员方法的基本语法
    2.重载
    3.参数
    4.修饰符
基本语法

修饰符 返回类型 方法名 (参数列表){ 方法体 }

这和函数的声明的格式有些相似,但多了一个修饰符。参数列表是可选的。如果没有返回类型要使用void关键字。

重载
重载是指在类中有两个或以上的成员方法(包括继承过来的)方法名相同,但参数类型或参数个数不同。这种特性是对多态机制的一种实现,实现了编译时的多态性。(还有一种运行时的多态性)
C#学习笔记--类的成员方法public class 日期
}
从这个例子可以很容易看出重载这种机制的好出,不管使用什么类型的日期类型程序都能找到相对应的成员方法进行处理,如果是面向过程化语言,就需要加一个switch语句块,对其类型进行判断,但现在这些都交给编译器去完成了。

成员方法的参数 
成员方法的参数有两点要注意,一是参数本身的类型,二是对关键字ref,out,params用法的理解。
    1.在不使用关键字的情况,也称为传值型参数。这种情况是为参数建立以个副本,把副本传到成员方法内部以供使用,需要注意的是值类型的参数和引用型的参数在结果上有些差别。方法里面对对参数的修改不会影响到值类型,但会影响到引用类型,因为引用型参数是把引用本身的副本传到方法里面去了,而不是把引用指向的对象的副本传到方法里面。下面给个例子,一看就能理解,说多了反而不好理解。

C#学习笔记--类的成员方法class Element

结果是 100,10
    2.ref关键字的使用,使用这个关键字后就叫按引用传递,或者传址型参数,使用这个关键字的特点是,不关参数是值类型还是引用类型,方法对参数的修改都会影响到传入参数本身。 需要注意的是不管是在方法的声明还是调用的时候,都要使用关键字ref,而其参数本身要在调用前进行初始化。(个人觉得ref对引用类型的参数意义不大)
    3.out 和ref作用差不多,而其在编译时的处理方式也是一样的。由于这个原因,两个方法只是out 和 ref不同,不能算重载。他们的不同之处在于 ref 要求变量必须在传递之前进行初始化,out不用。out一般用于多个返回值的方法。
    4.params让方发使用变长参数,也就是可以使用任意个数的参数,但必须遵循如下规则,在方法声明中params之后不能跟其它参数,一个方法中只能有一个params,使用params的参数必需是数组类型。

C#学习笔记--类的成员方法class App
}

这个例子是
这个东西很多也很杂,而且用的地方也不经相同,我想在后面的学习中逐步介绍,一次说多也记不住。

相关文章: