第4章--方法--C#程序设计案例教程课件.ppt
《第4章--方法--C#程序设计案例教程课件.ppt》由会员分享,可在线阅读,更多相关《第4章--方法--C#程序设计案例教程课件.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#程序设计案例教程程序设计案例教程第4章 方 法学习目标知识目标l理解使用方法的优点。l掌握方法的定义。l掌握方法的调用,了解方法的调用过程。l掌握方法嵌套调用和递归调用。l理解并掌握方法间的两种参数传递方式(值传递、引用传递)。l掌握方法的重载。技能目标l针对timer1控件的Tick事件所对应的方法进行编程,初步体会事件机制。l利用队列或链表让蛇在键的控制下运动起来,体会数据结构的作用。l通过建立DrawGrid()、GenerateSnake()、GenerateFood()、等方法,实现画格子、创建蛇、产生食物、游戏结束、蛇移动和加分等功能,从而掌握方法的定义和使用,并体会方法的作用
2、和重要性。自学内容l复习数据结构队列知识。l了解覆写和事件初步知识。开 场 白 前几天,我去湘雅医院的骨科看病。一位老教前几天,我去湘雅医院的骨科看病。一位老教授先询问病情,然后观察了一下,就叫我去做授先询问病情,然后观察了一下,就叫我去做X光透视;一个小时后我将透视结果带给教授复诊,光透视;一个小时后我将透视结果带给教授复诊,教授根据结果开处方,然后让我去窗口缴费;收教授根据结果开处方,然后让我去窗口缴费;收银员收款后将缴费信息存入数据,并告诉我到领银员收款后将缴费信息存入数据,并告诉我到领药窗口取药,这时领药窗口的医务人员早就根据药窗口取药,这时领药窗口的医务人员早就根据联网系统的通知完成
3、配药工作了,将药递给我。联网系统的通知完成配药工作了,将药递给我。最后,我领到药去打针。每一个环节都有熟门熟最后,我领到药去打针。每一个环节都有熟门熟路的专业人员负责,分工协作,我很顺利地完成路的专业人员负责,分工协作,我很顺利地完成看病这一看病这一“任务任务”。我们楼下有一个刚开的小诊所,目前只有一个医生。我们楼下有一个刚开的小诊所,目前只有一个医生。如果我到这个小诊所去看病,那么以上这些环节的实现如果我到这个小诊所去看病,那么以上这些环节的实现就全要靠这一个人完成。就全要靠这一个人完成。在这里将在医院看病称为第一种模式,将在诊所看病在这里将在医院看病称为第一种模式,将在诊所看病称为第二种模
4、式,那么大家想想,第一种模式与第二种称为第二种模式,那么大家想想,第一种模式与第二种模式相比具有什么优势呢?模式相比具有什么优势呢?很明显,第一种模式是针对大型医院、复杂的病情。很明显,第一种模式是针对大型医院、复杂的病情。这种模式采用了分工形式,效率高,老教授能将精力专这种模式采用了分工形式,效率高,老教授能将精力专注于重点问题的解决,同时也方便升级(例如,更换一注于重点问题的解决,同时也方便升级(例如,更换一个更有经验的负责照片的医生)和维护,即使出现问题个更有经验的负责照片的医生)和维护,即使出现问题也能较快地找到可能出错的环节,例如,收款出错了也也能较快地找到可能出错的环节,例如,收款
5、出错了也不至于又跑去麻烦老教授。不至于又跑去麻烦老教授。整个过程可以表示如下:整个过程可以表示如下:看病看病()询问病情询问病情();做做X光透视光透视();复诊复诊();开处方开处方();收款收款();配药配药();打针打针();其中对做其中对做X光透视光透视()这个方法而言,教授只是这个方法而言,教授只是想知道返回的结果,而不必自己亲自去实现;而想知道返回的结果,而不必自己亲自去实现;而对于收款对于收款()、配药、配药()、打针、打针()这几个方法来说,这几个方法来说,这些并不是教授关注的重点,没必要亲自去做,这些并不是教授关注的重点,没必要亲自去做,所以交由其他人员处理。这样,整个看病过
6、程中,所以交由其他人员处理。这样,整个看病过程中,教授就通过教授就通过“方法方法”的形式将大部分工作分配给的形式将大部分工作分配给了其他专业人员去具体实现,自己就从繁重的工了其他专业人员去具体实现,自己就从繁重的工作中得以解放。作中得以解放。大家可以想象,如果将所有的方法中的详细代大家可以想象,如果将所有的方法中的详细代码都写在码都写在“看病看病”这个区域,是不是就和楼下诊这个区域,是不是就和楼下诊所的那个医生操作所有环节一样繁琐而混乱呢?所的那个医生操作所有环节一样繁琐而混乱呢?4.1.1.1 使用方法的意义在一个较大、较复杂的程序中,常常需要完成许多功能(称之为基本操作),这些基本操作由若
7、干条语句有机组合而成,相互之间彼此独立。程序的设计就相当于搭积木,一般是由各个基本操作按照一定的方式有机组合而成的,这就是结构化程序设计方法。其中的每一个基本操作都称为一个方法,这些方法既可以调用其他方法,也可以被其他方法所调用。4.1 方法的定义与调用4.1.1 基础知识例如:求两个数中较大的一个static int Max(int a,int b)/方法定义方法定义 int c;c=ab?a:b;return c;3方法的参数列表 形参形参1,形参形参2,形参形参n,2方法名 方法名最好具有与本身功能相对应的实际含义,建议采用动词短语,如DrawTriangle。方法名一般使用Pascal
8、命名法,就是组成方法名的单词直接相连,每个单词的首字母大写,如ReadLine、WriteLine。4.1.1.3 4.1.1.3 方法的调用方法的调用1方法调用时参数的传递 进行参数传递时实参与形参必须个数相等,类型一致,并按位置、顺序一一对应。在一般情况下,实参可以是常量、变量或表达式,形参必须是变量。如果实参是表达式,调用前会先计算表达式,然后把表达式的值传递给形参。2方法的调用方式方法有以下3种调用方式。(1)方法语句这种方式把方法调用作为一个语句来使用。例如,Console.WriteLine(请输入两个整数:);。这种方式适用于对没有返回值的方法的调用。(2)方法表达式方法的调用出
9、现在一个表达式中。例如,Max()方法的调用语句:z=Max(x,y);z=2*Max(x,y);(3)方法参数这种方式把方法的调用结果作为另一个方法的参数。例如,Max(9,Max(5,11)是把Max(5,11)的调用结果11作为外层Max()方法的一个实参。方法表达式和方法参数这两种方式适用于对有返回值的方法的调用。3方法的调用过程 看病结束做透视透视结束返回结果去做透视Main()调用A方法结束A()方法A()结束返回结果图4.1 看病过程与方法的调用过程 4.2 方法的嵌套调用4.2.1 基础知识Main()调用A()方法结束A()方法调用B()方法B()方法B()方法结束A()方法
10、结束图4.3 方法的嵌套调用过程4.2.2 案例多棵圣诞树案例情境在4.1.2节案例基础上,画出多棵不同颜色的圣诞树,可以进一步提炼出画圣诞树的方法。案例运行结果如图4.4所示。图4.4 画出多棵圣诞树的效果画三角形的方法:画三角形的方法:private void DrawTriangle(Color c,int x,int y,int h,int w)Pen p=new Pen(c);g.DrawLine(p,new Point(x,y),new Point(x-w,y+h);g.DrawLine(p,new Point(x,y),new Point(x+w,y+h);g.DrawLine(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 方法 C# 程序设计 案例 教程 课件
限制150内