新Visual C#.NET程序设计教程 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 罗福强 白忠建 杨剑 C# Ch4(人邮).pptVIP

  • 11
  • 0
  • 约1.02万字
  • 约 61页
  • 2016-10-26 发布于广东
  • 举报

新Visual C#.NET程序设计教程 第2版 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 罗福强 白忠建 杨剑 C# Ch4(人邮).ppt

4.3 类的方法 4.3.1 方法的声明与调用 4.3.2 方法的参数传递 4.3.3 方法的重载 4.3.1 方法的声明与调用 方法的使用分声明与调用两个环节。 1.方法的声明 声明方法的一般形式如下: [访问修饰符] 返回值类型 方法名 ([参数列表]) { 语句; …… [return 返回值;] } 4.3.1 方法的声明与调用 1.方法的声明 (1) 访问修饰符控制方法的访问级别,可用于方法的修饰符包括public、protected、private和internal等;访问修饰符是可选的,默认情况下为 private (2) 方法的返回类型用于指定由该方法计算和返回的值的类型,可以是任何合法的数据类型,包括值类型和引用类型,如果一个方法不返回一个值,则返回值类型使用void关键字来表示; (3) 方法名必须符合C#的命名规范,与变量名的命名规则相同; 4.3.1 方法的声明与调用 1.方法的声明 (4) 参数列表是方法可以接受的输入数据,当方法不需要参数时,可省略参数列表,但不能省略圆括号;当参数不止一个时,需要使用逗号分隔,同时每一个参数都必须声明数据类型,即使这些参数的数据类型相同也不例外; (5) 花括号中的内容为方法的主体,由若干条语句组成,每一条语句都必须使用分号结尾。当方法结束时如果需要返回操作结果,则使用return语句返回,并且返回的值的类型要与返回值的类型相匹配。如果使用void标记方法为无返回值的方法,可省略return语句。 4.3.1 方法的声明与调用 2.方法的调用 一个方法一旦在某个类中声明,就可由其他方法调用,调用者既可以是同一个类中的方法,也可以是其他类中的方法。如果调用者是同一个类的方法,则可以直接调用,如果调用者是其他类中的方法,则需要通过类的实例来引用,但静态方法例外,静态方法通过类名直接调用 (1) 在方法声明的类定义中调用该方法。其语法格式为: 方法名(参数列表) (2) 在方法声明的类定义外部调用该方法,需要通过类声明的对象调用该方法,其格式为: 对象名.方法名(参数列表) 4.3.1 方法的声明与调用 类的方法被调用时,有以下几种使用方法。 (1) 作为一条独立的语句使用 (2) 作为表达式的一部分,参与算术运算、赋值运算等 (3) 作为另一个方法的参数来使用: 4.3.2 方法的参数传递 在声明方法时,所定义的参数是形式参数(简称形参),这些参数的值由调用方负责为其传递,调用方传递的是实际数据,称为实际参数(简称实参),调用方必须严格按照被调用的方法所定义的参数类型和顺序指定实参。在调用方法时,参数传递就是将实参传递给形参的过程。 方法的参数传递按性质可分为按值传递与按引用传递。 4.3.2 方法的参数传递 1.按值传参 按值传参时,把实参变量的值赋给相对应的形参变量,即被调用的方法所接收到的只是实参数据值的一个副本。当在方法内部更改了形参变量的数据值时,不会影响实参变量的值,即实参变量和形参变量是两个不相同的变量,他们具有各自的内存地址和数据值。因此,实参变量的值传递给形参变量时是一种单向值传递。 值类型的参数在传递时默认为按值传参。 string和object虽然是引用型数据,但从表现形式来看,其具有按值传参的效果。 4.3.2 方法的参数传递 【实例4-3】用值传参进行参数值交换 4.3.2 方法的参数传递 2.按引用传参 方法只能返回一个值,如果需要方法能够返回多个值或修改传入的参数值并返回,这时可以使用按引用传递参数的方式来实现。 调用方向方法传递引用型参数时,调用方将把实参变量的引用赋给相对应的形参变量。实参变量的引用代表数据值的内存地址,因此,形参变量和实参变量将指向同一个引用。如果在方法内部更改了形参变量所引用的数据值,则同时也修改了实参变量所引用的数据值。 当值类型和string类型参数要按引用方式传参时,可以通过ref关键字来声明引用参数,无论是形参还是实参,只要希望传递数据的引用,就必须添加ref关键字。 4.3.2 方法的参数传递 【实例4-4】用引用传参进行参数值交换。 (1) 将【实例4-3】Swap方法声明改为引用型参数: public string Swap(ref int x,ref int y) (2) 将【实例4-3】Swap方法调用改为引用型传参: lblShow.Text = s.Swap(ref a, ref b); 4.3.2 方法的参数传递 3.输出参数 方法中的return语句只能返回一个运算

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档