C#程序设计与开发第4章.ppt_第1页
C#程序设计与开发第4章.ppt_第2页
C#程序设计与开发第4章.ppt_第3页
C#程序设计与开发第4章.ppt_第4页
C#程序设计与开发第4章.ppt_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第四章 函数,在程序中使用函数可以将若干条语句按照功能组织成一个独立的代码单元,这有利于复杂程序的组织、管理,有利于编程人员分工协作、逐步实现复杂的功能,有利于代码的重复利用和维护。在C中,函数也称为方法,在未介绍面向对象的有关概念之前,暂时使用函数这一术语,在本书的第5章介绍C#面向对象编程时,还会对方法进行介绍。 本章的主要内容包括:怎样在C#程序中定义和使用函数,结合函数介绍变量作用域的有关概念,使用重载函数的意义以及委托的基本概念。,2,本章学习要点,在控制台应用程序中定义和使用函数 通过返回值和参数,利用函数交换数据 参数数组 按引用或按值传递参数 使用输出参数 变量作用域的概念

2、 理解函数的重载 委托的概念,3,4.1 定义函数,要使用函数,首先需要定义函数。在函数的定义中指定了函数所要完成的功能。函数的定义包含了两个部分:函数头和函数体。函数头是函数定义中的第一行,在左花括号之前;函数体位于花括号对中,它包含了调用函数时要执行的代码。 1函数头 2函数体 3参数,4.2 使用函数,在知道了怎样在C#代码中定义函数之后,下面介绍怎样在C#中使用函数。函数本来就是一个逻辑功能单元,使用函数的最基本目的就是让它实现某个功能;除了实现某个特定的功能之外,还可通过函数进行数据交换(主调函数和被调函数之间的数据交换),一种方式是使用函数的返回值,另一种方式是使用函数参数;使用函

3、数的这两个目的并非总是截然分开的,例如,有时需要进行数据交换才能实现某个特定的功能。,4,4.2.2 参数,如果需要通过函数参数实现数据交换,必须在定义函数时,为函数指定要接受的参数列表,以及这些参数的类型;而且,在调用函数时要指定匹配的参数列表,即,实参的个数、类型和顺序要与形参的个数、类型和顺序保持一致,或者形参的类型能够兼容实参的类型。 1关于参数匹配 2参数数组 3引用参数和值参数 4输出参数,5,4.3 变量的作用域,本章的上一节介绍了怎样使用函数交换数据,但为什么需要使用函数交换数据呢?这就涉及到了变量的作用域问题。 程序中定义的变量都具有特定的作用域,变量的作用域是指程序中哪些地

4、方可以使用该变量。不同变量的作用域可能是不同的,有的变量可以在程序的任何地方使用,而有的变量只能在程序的有限地方被使用。,6,4.4 函数重载,在编程中常常需要使用两个或多个函数完成相同的任务,但其参数的数据类型不同。例如,需要使用larger()函数的不同版本,查找出任何基本数据类型的两个变量中的较大者。在理想情况下,所有这些函数都使用相同的名称larger(),另一种方法是为int类型的变量定义函数largerInt()为double类型的变量定义函数largerDouble (),这两个函数的作用是相同的,但却使用不同的名字,看上去很笨拙,不如前一种方法方便。 在C#中,可以使用两个或两

5、个以上具有相同名称只是参数声明不完全相同的函数,这种情况称为函数的重载。概括地说,要重载函数,只需声明函数的不同版本,编译器会处理剩余的工作。但重载函数的不同版本之间必须至少满足下列所述的一个条件: 参数数目不同 参数类型不同 参数的顺序不同,7,4.5 委托,委托是一种变量类型,可以间接地使用函数。同一个委托可以调用匹配于特定函数签名的任何函数,提供在程序运行期间对几个函数进行选择的能力。由于委托跟面向对象的概念有关,在未介绍C#面向对象编程之前,本节只介绍与委托有关的部分知识。 委托是一种可以把引用存储为函数的类型。委托的声明非常类似于函数,但没有函数体,而且要使用delegate关键字。委托的声明指定了一个函数签名,其中包括返回类型和参数列表;在声明委托之后,就可以声明该委托类型的变量了,可将该变量初始化为与委托有相同签名的函数引用,然后,就可以使用委托变量调用这个函数。 在具有可引用函数的变量后,还可以执

温馨提示

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

评论

0/150

提交评论