3.3 方法

来源:互联网 发布:马克威算法交易平台 编辑:程序博客网 时间:2024/06/07 07:11

3.1 面向对象的概念

3.2 类

3.3 方法

 

方法是用来定义类可执行的操作,它包含一系列语句的代码块。本质上,方法就是和类相关联的动作,是类的外部界面,可以通过外部界面操作类的所有字段。

 

3.3.1 方法的声明

 方法是在类或结构中声明的,需要指定访问级别、返回值、方法名、方法参数等,方法参数放在括号中,用逗号分开。

方法声明的基本格式:

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

{

                 //方法中需要实现的内容;

}

修饰符:private、public、protected、internal4个中的人一个,如果没有修饰符则默认为private 。

返回值类型:指定方法返回数据的类型,如果一个方法不需要返回值则用void关键字。

参数列表:用逗号隔开的类型、标识符,如果方法中没有参数,则参数列表为空。

一个方法的名称和形参列表定义了该方法的签名。一个方法的签名是由是由它的名称和形参的个数、修饰符和类型构成的。

 

3.3.2 方法的参数

 

调用一个方法时可以给该方法传递一个或多个值。

传给方法的值叫实参,在方法内部;接收实参的变量叫形参,形参在方法名后的括号中声明,其语法和变量的声明语句一致。形参只在括号内有效。

方法的参数主要有4种:值参数、ref参数、out参数、params参数。

 

1. 值参数

值参数是在声明时不加修饰的参数,它表明实参与形参之间按值传递。当使用值参数的方法被调用时,编译器为形参分配存储单元,然后将对应的实参的值复制到形参中,由于是值类型的传递方式,所以在方法中对形参的修改不会影响实参。

2. ref参数

ref 参数使形参按照引用方式传递,在方法中对形参的任何改变都会更改实参。

ref 参数在方法的声明和方法的调用都必须是显式使用ref关键字。

ref参数使用注意点:

    ref关键字只对其后面的参数有效,而不是用于于整个参数列表;

    调用方法的时候必须用ref修身实参,并且确保形参和实参的类型完全一致(址引用)。

    实参只能是变量,不可以是常量或表达式(址引用)。

    ref在调用前一定要赋值,否则提示报错。

值参数和ref参数使用场合:

3. out 参数

out关键字用来定义输出参数,它会导致参数按照引用来传递,和ref 相似。不同点在于:ref 要求实参必须在传递之前要赋值,而out 则不需要赋值就可以使用。

4. params 参数

声明方法时,如果有多个类型相同的参数,可以定义为params参数。

params是一个一维数组,主要用来指定在参数数目可变时采用的参数方法。

 

3.3.3 静态方法和实例方法

 方法分为静态方法和实例方法。用static 修饰的方法称为静态方法,没有static 的方法为实例方法。

   1. 静态方法

               静态方法不对特定实例操作,调用静态方法的时候使用类名直接调用。

   2. 实例方法

实例方法是对类给定的某个实例进行操作。使用实例方法时,需要使用类的对象调用,而且可以使用this来访问该方法。

 

静态方法属于类,实例方法属于对象。静态方法使用类来引用,实例方法使用对象来引用。

 

3.3.4 方法的重载

 方法重载是指方法名重名,但参数的数据类型、个数或顺序不同的方法。只要类中有两个以上的同名方法,但是参数类型、个数或顺序不同,调用时,编译器就可以自动判断在哪种情况调用哪种方法。

 

0 0
原创粉丝点击