分享
分享赚钱 收藏 举报 版权申诉 / 29

类型第4章 方法.ppt

  • 上传人:fmgc7290
  • 文档编号:8526245
  • 上传时间:2019-07-01
  • 格式:PPT
  • 页数:29
  • 大小:295KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第4章 方法.ppt
    资源描述:

    1、第4章 方法,C#面向对象程序设计案例教程,2,教学目标,1)理解使用方法的优点; 2)掌握方法的定义; 3)掌握方法的调用,了解方法的调用过程; 4)掌握方法嵌套调用和递归调用; 5)理解并掌握方法间的两种参数传递方式(值传递、引用传递); 6)掌握方法的重载; 7)学会分析局部变量的作用域。,3,本章主要内容,4.1 方法的定义与调用 4.2 方法的嵌套调用 4.3 方法的递归调用 4.4 方法的参数 4.5 方法的重载 4.6 本章小结,4,4.1 方法的定义与调用,4.1.1案例说明 【案例简介】 编写一个控制台应用程序,输出一棵圣诞树,如图所示。,5,4.1 方法的定义与调用,【案例

    2、目的】 (1) 了解使用方法的优点; (2) 掌握方法的定义与调用; (3) 理解方法间参数的传递。 【技术要点】 (1) 设计方法前要明确方法的功能以及方法的输入、输出数据; (2) 设计方法头部,包括方法的方法名、返回值类型、参数列表等。,6,4.1 方法的定义与调用,4.1.2代码分析 采用两种方法解决本案例提出的问题。 (1)从现有知识出发解决输出圣诞树问题,不使用方法,把所有的代码都编写在Main中。(代码另附) (2)使用方法来解决输出圣诞树问题。将使得“打印等腰三角形”这个基本操作一次编写,多次使用,提高了代码复用率也提高了程序的可读性。 (代码另附),7,4.1 方法的定义与调

    3、用,4.1.3 相关知识及注意事项 1使用方法的意义将一个复杂的程序分解成若干个相对独立的方法,使得程序变得简练并且结构清晰。方法可以被多次调用,反复执行,这样大大地提高了代码的复用率。另外,程序的分块设计也便于开发人员的分工合作、便于调试和维护,从而大大提高了编程效率。 2方法的定义方法也称为函数,是一组程序代码的有机集合,可以实现一个独立的功能。可以把程序中多次用到的某个任务定义为方法。,8,4.1 方法的定义与调用,2.方法的定义 1) 方法的定义 方法的定义格式为:,修饰符 返回值类型 方法名(参数列表) 方法体;return(z); /返回结果z ,9,4.1 方法的定义与调用,2.

    4、方法的定义 2) 方法名 方法名是用户给方法取的名字,可以是任何一个有效的C#标识符。作为编程的良好习惯,方法的命名应尽量符合以下规则。 3) 方法的参数列表方法可以接收参数,这实际上是方法与外界“通信”的方式。方法定义时参数列表由0个、1个或多个参数组成。 4) 方法的返回值类型方法的返回值就是方法的输出,是一个方法执行完毕后返回给调用者的数据,它可以是各种数据类型。如果方法没有返回值,应定义为void类型。,10,4.1 方法的定义与调用,2.方法的定义 5) return语句方法的返回值由return语句带回,return语句在赋予方法的调用者返回值的同时退出方法。 6) 方法的修饰符修

    5、饰符用于指定方法的访问权限,有public、private、static等,默认为private。用static修饰的方法是静态方法。 7) 方法体用“”和“”括起来的若干语句组成方法体。方法体中可以没有任何语句,但大括号不可以省略。,11,4.1 方法的定义与调用,3.方法的调用 1) 方法调用时参数的传递方法的参数是方法的输入数据。主调方法的参数称为实际参数(简称实参),被调方法的参数称为形式参数(简称形参),方法调用时实参被传递给对应位置的形参,完成方法的输入。相应地,方法执行结束时,通过return语句把“产品”返回给主调方法,完成方法的产出。 2) 方法的调用方式方法有以下3种调用方

    6、式。,12,4.1 方法的定义与调用,3.方法的调用 3) 方法的调用过程 4.IDE使用进阶,13,4.2 方法的嵌套调用,4.2.1 案例说明 【案例简介】 编写程序求两个数的最大公约数和最小公倍数,实现要求:把“求两数最大公约数”和“求两数最小公倍数”两个功能独立编写成方法,以便根据需要随时调用。案例运行结果如图4.3所示。,14,4.2 方法的嵌套调用,4.2.1 案例说明 【案例目的】 (1) 巩固方法的定义; (2) 掌握方法的嵌套调用。 【技术要点】 (1) 根据问题描述正确分析确定方法的参数列表组成以及方法的返回值; (2) 方法的嵌套调用。,15,4.2 方法的嵌套调用,4.

    7、2.2 代码及分析 代码中GreatestCommonDivisor()方法的功能是求两个数的最大公约数,LeastCommonMultiple()方法的功能是求两个数的最小公倍数。Main()方法分别调用这两个方法求出两个数的最大公约数和最小公倍数。,16,4.2 方法的嵌套调用,4.2.3相关知识及注意事项 1方法的嵌套调用嵌套调用,就是指在调用一个方法的过程中又调用另一个方法 2求最大公约数的数学方法 3求最小公倍数的数学方法,17,4.3 方法的递归调用,4.3.1 案例说明 【案例简介】 已知有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁;问第4个人,他说比第3个人大2岁;

    8、问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁;最后问第1个人,他说是10岁。试问第5个人多大?,18,4.3 方法的递归调用,4.3.1 案例说明 【案例目的】 掌握方法的递归调用。 【技术要点】 使用方法的递归调用解决问题时,首先根据问题的描述,分析一般规律,然后求出表达问题的式子,同时要考虑递归结束的条件。 4.3.2 代码及分析,19,4.3 方法的递归调用,4.3.3 相关知识及注意事项 1方法的递归调用 一个方法直接或者间接调用自己称为递归,同时将该方法称为递归方法。 2使用递归的条件 一个问题要用递归的方法来解决,需满足以下条件。 (1) 原问题可转化为一个新

    9、问题,而这个新问题与原问题有相同的解决方法。 (2) 新问题可继续这种转化,在转化过程中问题有规律地递增或递减。 (3) 在有限次转化后,问题得到解决,即具备递归结束的条件。,20,4.3 方法的递归调用,3递归调用的过程 递归调用的过程可分为如下两个阶段。 (1) 第一个阶段称为“回推”。 (2) 第二个阶段称为“递推”。,21,4.4 方法的参数,4.4.1 案例说明 【案例简介】 定义一个方法用于交换两个数的值。案例运行结果如下图所示。,22,4.4 方法的参数,4.4.1 案例说明 【案例目的】 (1) 理解参数的值传递方式和引用传递方式; (2) 掌握值参数、ref参数和out参数的

    10、运用。 【技术要点】 (1) 使用ref关键字修饰需要“保留”改变的参数; (2) 使用ref修饰的形参,其对应的实参也要使用ref关键字修饰。,23,4.4 方法的参数,4.4.2 代码及分析 比较前后两段代码可以看出,区别主要有如下两点。 (1) 定义Swap()方法时,方法头的设计有区别,修改后的代码使用了ref关键字,而修改前的代码没有使用。 修改前的代码: static void Swap(int a, int b) 修改后的代码: static void Swap(ref int a, ref int b) (2) 调用Swap()方法时,调用语句有区别,修改后的代码使用了ref关

    11、键字,而修改前的代码没有使用。 修改前的代码:Swap( x, y); 修改后的代码:Swap(ref x, ref y);,24,4.4 方法的参数,4.4.3 相关知识及注意事项 1参数的传值方式 参数以传值方式传递,被调用的方法将接受实参的一个副本,参数传递后,如果对被调用方法中的实参副本进行修改,不会影响原始实参的值。 2参数的传引用方式 1) ref引用参数 参数以传引用方式传递时,形参将不创建新的存储位置,形参和实参共用存储单元,这时形参相当于它所对应的实参的一个别名,如果在被调用的方法中对形参进行修改,实际上就是对实参进行了修改,因此当方法调用完毕时,方法中对形参的修改直接影响了

    12、实参。,25,4.4 方法的参数,4.4.3 相关知识及注意事项 2) out输出参数 除了ref关键字外,C#还提供了out关键字用于参数的引用传递。ref参数必须在方法被调用前进行赋值,但在实际的应用中,有时仅仅需要调用方法计算出某个结果返回给调用者,而不需要调用者对这个参数进行初始化。在这种情况下可以使用out参数,out参数仅用于输出方法的某个结果。 ref参数和out参数比较:ref参数和out参数都可以将参数的更改保留,但ref侧重于修改,out侧重于输出。,26,4.5 方 法 重 载,4.5.1 案例说明 【案例简介】 分别实现求两整数的平方和、求两个实数的平方和以及求3个整数

    13、的平方和。案例运行结果如图所示。 【案例目的】 (1) 理解方法重载的概念和意义; (2) 掌握方法重载的实现。 【技术要点】 定义重载方法的关键技术是方法名相同而参数类型或个数不同。,27,4.5 方 法 重 载,4.5.2 代码及分析 1. 对于本案例,一般人会考虑编写3个不同名的方法,分别求两整数的平方和、求两个实数的平方和以及求3个整数的平方和(代码另附)。 2. 3个方法其实属于功能相似的一组方法。它们各自命名,一方面增加了程序的标识符个数,增加记忆难度;另一方面也增加了调用者调用前的判断。可以采用下面的方法解决(代码另附)。 3.上述程序定义了3个同名方法用于求各种类型的平方和,减

    14、少程序标识符,无需判断,方便调用者调用这些方法。,28,4.5 方 法 重 载,4.5.3 相关知识及注意事项 1为什么需要重载 C#提供了重载机制,允许给多个功能相似的方法取相同的名字,在调用时由系统决定应该调用哪个方法。 2什么是方法重载 两个或两个以上的一组方法,如果方法名相同,使用不同的参数列表来定义,称为方法重载。 3系统如何确定该调用哪个方法 调用具有重载的方法时,系统会根据参数个数或者参数类型的不同来区分。具体调用时,由编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪个方法。,29,4.6 本 章 小 结,本章通过多个案例系统地介绍了使用方法的必要性、方法的定义、方法的调用(包括嵌套调用和递归调用)、方法重载以及参数的两种传递方式。本章还介绍了4个实训点:如何定义方法;如何调用方法;如何用不同传递方式实现参数的传递;如何进行方法重载。通过本章学习,读者能够达到学会使用方法来构建程序的能力目标。,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第4章 方法.ppt
    链接地址:https://www.docduoduo.com/p-8526245.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开