讲稿文字规范 - 网络教育资源共享课-上海交通大学_第1页
讲稿文字规范 - 网络教育资源共享课-上海交通大学_第2页
讲稿文字规范 - 网络教育资源共享课-上海交通大学_第3页
讲稿文字规范 - 网络教育资源共享课-上海交通大学_第4页
讲稿文字规范 - 网络教育资源共享课-上海交通大学_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章 面向对象编程方法王德俊 上海交通大学继续教育学院第4章 面向对象编程方法4.2 类和对象4.3 类的继承、重载与多态4.4 运算符的重载4.5 接口及其实现4.6 方法的委托4.7 常用的几个类4.8 命名空间类方法1 方法的声明与调用2 参数传递3 重载方法()1 方法的声明与调用C#中的方法必须放在类定义中声明,也就是说,方法必须是某一个类的方法方法遵循先声明后使用的规则,分声明与调用两个环节(1)声明方法(2)调用方法(1) 声明方法声明方法最常用的语法格式为:访问修饰符 返回类型 方法名(参数列表) 方法体 方法如果是对外提供的服务,则访问修饰符通常是public,以保证在类定

2、义外部能够调用该方法方法的返回类型用于指定由该方法计算和返回的值的类型,可以是任何值类型或引用类型如果方法不返回一个值,则它的返回类型为void方法名是一个合法的C#标识符参数列表在一对圆括号中,指定调用该方法时需要使用的参数个数、各个参数的类型,参数之间以逗号分隔参数可以是任何类型的变量如果方法在调用时不需要参数,则不用指定参数,但圆括号不能省略实现特定功能的语句块放在一对大括号中,叫方法体,“” 和“”分别表示方法体的开始和结束如果方法有返回值,则方法体中必须包含一个return语句,以指定返回值,该值可以是变量、常量、表达式,其类型必须和方法的返回类型相同如果方法无返回值,在方法体中可以

3、不包含return语句,或包含一个不指定任何值的return语句(2) 调用方法根据方法被调用的位置,可以分为在方法声明的类定义中调用方法和在方法声明的类定义外部调用方法在方法声明的类定义中调用方法的语法格式为:方法名(参数列表);在方法声明的类定义中调用该方法,实际上是由类定义内部的其他方法成员调用该方法在方法声明的类定义外部调用方法实际上是通过类声明的对象调用该方法,其格式为:对象名.方法名(参数列表)2 参数传递(1) 按值传递(2)按引用传递参数传递在方法的声明与调用中,经常涉及方法参数在方法声明中使用的参数叫形式参数(形参)在调用方法中使用的参数叫实际参数(实参)在调用方法时,参数传

4、递就是将实参传递给形参的过程以例MaxValue为例,声明方法时的形参如下:public int IntMax(int a,int b);调用方法时的实参如下:(x,y)方法参数传递按性质可分为按值传递与按引用传递(1) 按值传递参数按值的方式传递是指当把实参传递给形参时,是把实参的值复制(拷贝)给形参,实参和形参对应不同的内存单元:这种参数传递方式的特点是,形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全基本类型(包括string)的参数在传递时默认为按值传递例SwapInWin 创建一个Windows应用程序在程序中传递两个文本框中的数据给Swap方法在该方法中交换这两个数据

5、观察文本框中的数据是否受到影响public void Swap(string s1,string s2)string s3=s1;s1=s2;s2=s3;/ 交换s1与s2的值private void button1_Click(object sender, e)if(textBox1.Text=|textBox2.Text=) return;Swap(textBox1.Text,textBox2.Text);/ 将两个文本框中的数据传递给Swap方法在Swap方法中交换s1与s2的值,并未对文本框中的数据产生任何影响(2) 按引用传递方法只能返回一个值,但实际应用中常常需要方法能够修改或返回

6、多个值,可以通过使用按引用传递参数的方式予以实现按引用传递是指实参传递给形参时,不是将实参的值复制给形参,而是将实参的引用传递给形参,实参与形参使用的是同一个内存中的值这种参数传递方式的特点是,当形参的值发生改变时,同时也改变实参的值按引用传递分基本数据类型与类对象数据类型两种情况基本类型参数按引用传递时,实参与形参前均须使用关键字ref例SwapInWinRef 修改例SwapInWin中的Swap方法声明与调用时的形参与实参修改为按引用传递,观察两个文本框中的数据是否发生变化由于C#不允许将对象的属性按引用传递,因此代码设计需要变通一下。public void Swap(ref strin

7、g s1,ref string s2)/ 在形参中增加ref关键字string s3=s1; s1=s2; s2=s3; private void button1_Click(object sender, System.EventArgs e)if (textBox1.Text=|textBox2.Text=) return;string ss1=textBox1.Text,ss2=textBox2.Text;/ 将文本框中的值先赋给字符串变量Swap(ref ss1,ref ss2);/ 在实参中增加ref关键字textBox1.Text=ss1; textBox2.Text=ss2;/ 方

8、法调用后,再将相应字符串变量赋给文本框在Swap方法中交换s1与s2的值,文本框中的数据也相应变化按引用传递类对象参数总是按引用传递的,所以类对象参数传递不需要使用ref关键字类对象参数的传递,实际上是将实参对数据的引用复制给了形参,所以形参与实参共同指向同一个内存区域例SwapInWinObject 修改例SwapInWinRef,将Swap方法的形参类型设置为文本框类型public void Swap(TextBox s1,TextBox s2)TextBox s3=new TextBox( );s3.Text=s1.Text;s1.Text=s2.Text;s2.Text=s3.Text

9、;private void button1_Click(object sender, e)if(textBox1.Text=|textBox2.Text=) return;Swap(textBox1,textBox2);3 方法重载为了能使同一名称适用于处理各种类型数据的方法,C#提供了方法重载机制方法重载是声明两个以上的同名方法,实现对不同数据类型的类似功能处理方法重载方法重载有两点要求: 重载的方法名称必须相同 重载的方法,其形参个数或类型必须不同例如:public void Swap(ref int a,ref int b) public void Swap(ref float a,re

10、f float b) 以上重载方法能同时处理整型与浮点型数据,从而实现对不同的数据类型进行相同的处理声明了重载方法后,当调用具有重载的方法时,系统会根据参数的类型和个数寻求最匹配的方法予以调用例MaxIntFloat 创建一个控制台应用程序,在该程序中实现对两个整型、浮点型数据比较大小的功能class MaxIntFloat/ 比较值大小的方法声明public int Max(int a, int b)return ab?a:b;public float Max(float a, float b)return ab?a:b;static void Main(string args)int ia=60, ib=80;float fa=5.2f, fb=8.8f;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论