方法的重载教学目标:能理解方法的重载。学会方法的重载的应用。1、问题引入在编程时,一般是一个方法对应一种功能,但有时需要实现同一类功能,只是有些细节不同。例如希望从几个数中找出其中的最大者,而每次数据个数或类型不同,如2个整数,2个双精度数、3个整数、或一个整型数组做为参数。这时,我们可以设计出4个不同名的方法,其形式为:publicintMaxIntTwo(inta,intb){}publicdoubleMaxDouble(doublea,doubleb){}publicintMaxIntThree(inta,intb,intc){}publicintMaxArray(int[]a){}程序者需要以不同的方法名来命名这些功能类似的方法,而调用者更需记住不同的方法名,不是很方便。2、问题解决——重载在C#中,允许用同一方法名定义多个方法,这些方法的参数个数或参数类型不同,这就是方法的重载(functionoverloading)。决定方法是否构成重载有以下几个条件:在同一个类中;方法名相同;参数列表不同。3、方法重载要求:(1)重载的方法名称必须相同;(2)重载方法的形参个数或类型必须不同,否则将出现一个“已定义了一个具有相同参数类型的成员”。4、问题实现如果要完成上例相似功能的4个方法,重载方法如下:publicintMax(inta,intb){}publicdoubleMax(doublea,doubleb){}publicintMax(inta,intb,intc){}publicintMax(int[]a){}在调用具有重载的方法时,系统会根据参数的类型或个数确定最匹配的方法被调用。5、示例利用方法重载实现2个整数,2个双精度数,3个整数中求最大值。6、注意在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序。同能通过访问权限、返回类型、抛出的异常进行重载。方法的异常类型和数目不会对重载造成影响。练习完善示例,加入求一个数组中的最大值。publicintMax(int[]a){}作业利用方法重载实现不同数据类型的加法(2个整形、2个双精度、2个字符串等)classMyAdd{publicstaticintAdd(inta,intb){returna+b;}publicstaticdoubleAdd(doublea,doubleb){returna+b;}publicstaticstringAdd(strings1,strings2){returns1+s2;}}