欢迎来到天天文库
浏览记录
ID:48182046
大小:944.00 KB
页数:29页
时间:2020-01-18
《ch09方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章方法教学目标:1)理解使用方法的优点;2)掌握方法的定义;3)掌握方法的调用,了解方法的调用过程;4)掌握方法嵌套调用和递归调用;5)理解并掌握方法间的两种参数传递方式(值传递、引用传递);6)掌握方法的重载;7)学会分析局部变量的作用域。方法:是类中用于执行计算或其他行为的成员函数,用于把程序分解为小的单元。用方法构造代码有以下优点。(1)方法允许将程序分为不连续的逻辑单元。调试单独的单元与调试不包含方法的整个程序相比要容易得多。(2)可以在其他程序中使用为某个程序开发的方法,而通常只需要进行少量修改,甚至不需修改。9.1方法的定义方法定义的具体格式如下:方法修
2、饰符返回类型方法名(形参列表){方法体}方法的访问修饰符通常是public,以保证在类定义的外部能够调用该方法。除Public外,还有protected、internal、protectedinternal、private可以对方法的作用域进行修饰,各访问修饰符的意义如表所示:9.1方法的定义方法访问修饰符功能说明public方法的访问完全没有限制protected只有本类或者继承自本类的子类(即以本类作父类的类)可以使用internal方法的使用仅限于当前项目Protectedinternal方法的使用仅限于当前项目或者继承于此类的类private只有类本身存取而已(
3、默认)访问修饰符的意义9.1方法的定义方法的返回类型是一个类型名,用于指定由该方法计算和返回的值的类型,可以是任何值类型或引用类型,如int,string等。如果方法不返回任何值,则必须用关键字void来取代返回类型;方法名是一个合法的C#标识符;参数列表在一对圆括号中,指定调用该方法时需要使用的参数个数、各个参数的类型,两个或多个参数之间用逗号分隔;方法体;如果方法有返回值,则方法体中必须包含一个return语句,以指定返回值,其类型必须和方法的返回类型相同。如无返回值,则有无return语句均可。方法的参数和返回类型共同定义了方法的签名。9.1方法的定义voidSt
4、artGame()//没有参数voidPlaySound(stringpath)//带一个参数intMax(inta,intb,intc)//带多个相同类型的参数voidGetInfo(stringName,intlever)//带多个不同类型的参数9.2方法的调用在C#中,方法的调用主要采用以下2种格式。格式一:表达式=方法名(实参列表)。格式二:方法名(实参列表)。使用带返回值的方法时往往使用格式一来调用方法。如果不需要使用方法的返回值,则可以采用格式二来调用方法,这时将执行方法的所有操作而忽略返回值。注:类定义外部调用该方法实际上市通过类声明类的对象来调用该方法,
5、语法格式为:对象名.方法名(参数列表)9.2.1方法调用格式9.2方法的调用列:方法的声明以及调用staticvoidMain(string[]args){Console.WriteLine("请输入您的大名:");strings=Console.ReadLine();myFirstMethod(s);}staticvoidmyFirstMethod(strings1){Console.WriteLine("Welcome"+s1+"Youhaveenteredtheworldofthemethod!");}9.2方法的调用在定义方法时,方法名后面的圆括号中的变量名称为
6、“形参”。在调用方法时,方法名后面圆括号中的表达式称为“实参”。形参和实参都是方法的参数,它们的区别是一个表示声明时的参数,另一个表示调用时的参数。9.2.2形参与实参9.3方法的参数传递机制从参数的传递机制来说,C#中方法的参数可以有以下4种类型。(1)值参数:不含任何修饰符。(2)引用型参数:以ref修饰符声明。(3)输出参数:以out修饰符声明。(4)数组型参数:以params修饰符声明。9.3方法的参数传递机制声明时不带任何修饰符的参数是值参数。当形参是值参数时,实参变量对形参变量的数据传递是“传值”,在调用方法时将实参的值赋给形参。9.3.1值参数(Value
7、Parameter)9.3方法的参数传递机制P184【例9-2】9.3.1值参数(ValueParameter)图9.1方法执行前图9.2方法开始执行注:实参和形参使用的是两个不同内存中的值,值传递特点:形参的值发生改变,不会影响实参的值,从而保证了实参数据的安全性。9.3方法的参数传递机制9.3.1值参数(ValueParameter)例:staticvoidMain(string[]args){inta=3;intb=5;change(a,b);Console.WriteLine("a={0},b={1}",a,b);}staticv
此文档下载收益归作者所有