资源描述:
《面向对象编程简介函数的更多内容.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、类的方法(函数)——函数的更多内容(2)结构函数回忆一下第五章的结构类型,我们可以使用它在一个变量中存储多个不同的数据域,并通过<结构变量名>.<成员名>的形式加以访问,如:Datetoday;today.Year=2006;today.Month=Months.Sep;today.Day=25;today.Week=Days.Mon;结构函数当我们需要按格式输出today变量中的内容时,我们可以在Main函数中写这样一段代码:staticvoidMain(string[]args){Datetoday;today.Year=2006;today.Month=Months.Sep;today
2、.Day=25;today.Week=Days.Mon;Console.WriteLine(“{0}{1},{2}”,today.Month,today.Day,today.Year);}Sep25,2006结构函数但当我们需要输出两个Date型变量中的内容时,我们需要写两遍输出格式化输出代码:staticvoidMain(string[]args){Datetoday,tomorrow;today.Year=2006;today.Month=Months.Sep;today.Day=25;today.Week=Days.Mon;tomorrow=today;tomorrow.Day++;t
3、omorrow.Week++;Console.WriteLine(“{0}{1},{2}”,today.Month,today.Day,today.Year);Console.WriteLine(“{0}{1},{2}”,tomorrow.Month,tomorrow.Day,tomorrow.Year);}结构函数在这里,我们可以把格式化日期数据的代码放在一个单独的函数中进行处理,如:staticstringToFormatDate(DatetheDate){returntheDate.Month+““+theDate.Day+“,“+theDate.Year;}staticvoidMai
4、n(string[]args){Datetoday,tomorrow;//Initialsizetodayandtomorrowvariable.Console.WriteLine(ToFormatDate(today));Console.WriteLine(ToFormatDate(tomorrow));}结构函数或者还有一种更为优雅的方法使用结构函数结构体中除可以存放数据外,还可以把函数写在结构体中,称其为结构函数或成员函数。通过把函数放入结构体中,可以方便的处理结构体中的数据,使函数的语意更为清晰、明了。结构函数的定义与使用与普通函数类似,没有什么特别之处,唯一不同的是结构函数能够自由
5、读写结构类型中的数据成员。结构函数结构函数的定义方法:struct<结构类型名>{public<返回类型><数据成员名1>;public<返回类型><数据成员名2>;//....public<返回类型><结构函数名1>(<参数类型><参数>){//在这里可以直接访问结构成员变量;}public<返回类型><结构函数名2>(<参数类型><参数>){//在这里可以直接访问结构成员变量;}}结构函数使用结构函数实现日期数据的格式化功能:structDate{publicushortYear;publicMonthsMonth;publicbyteDay;publicstringToFormatDa
6、te(){returnMonth+““+Day+“,“+Year;}}staticvoidMain(string[]args){Datetoday;today.Year=2006;today.Month=Months.Sep;today.Day=25;Console.WriteLine(today.ToFormatDate());}结构函数增加函数:structDate{publicintYear,Month,Day;publicDateAddDay(){Datetomorrow;tomorrow.Year=Year;tomorrow.Month=Month;tomorrow.Day=Day
7、+1;returntomorrow;}}staticvoidMain(string[]args){Datetoday,tomorrow;today.Year=2006;today.Month=9;today.Day=25;tomorrow=today.AddDay();Console.WriteLine(“Tomorrowis:{0}”,today.ToFormatDate());}类中的方法(函数)换成类中