方法的重载 ■同一个类中添加几个名字相同,但参数类型或个数不同的方法 public string Sum(string para1,string para2) return para1 para2; public double Sum(double para1,double para2) return para1 para2; 调用时只要传递参数即可,无需判断类型 演示示例:方法的重载 6
6 方法的重载 ▪ 同一个类中添加几个名字相同,但参数类型或个数不同的方法 public string Sum (string para1, string para2) { return para1 + para2; } public double Sum (double para1, double para2) { return para1 + para2; } 调用时只要传递参数即可,无需判断类型 演示示例:方法的重载
方法的重载 方法的重载依赖干方法签名 public void SampleMethod(double x,int y) Console.WriteLine("SampleMethod(double i):[0}",x); } public void SampleMethod(int y,double x) Console.WriteLine("SampleMethod(int i):{0}",y); public void SampleMethod(ref int i) Console.WriteLine("SampleMethod(ref int i):0}",i); f/public void SampleMethod(out int i){}/编译错误 2024/10/9 7
7 2024/10/9 7 方法的重载 方法的重载依赖于方法签名。 签名的定义如下:方法名+参数个数+参数类型+顺序 ⚫参数数目不同 ⚫参数数目相同,类型不同。 ⚫参数数目相同,类型相同,先后顺序不一样 相同 返回值类型不能区别重载 一个方法采用ref或out参数,另一个不采用,可以重载
静态方法和实例方法 static修饰的方法称为静态方法,是一个类的全局方法 静态方法也叫作类方法,类名.方法名 ■没有static修饰的方法叫实例方法,对象名.方法名 ■注意事项: static方法中不能直接使用非静态成员,因为非静态成员与 实例相关 ■static方法中不能使用this(与实例相关) ■非static方法中可以使用静态成员 8
8 静态方法和实例方法 ▪ static修饰的方法称为静态方法,是一个类的全局方法 ▪ 静态方法也叫作类方法,类名.方法名 ▪ 没有static修饰的方法叫实例方法,对象名.方法名 ▪ 注意事项: ◼ static方法中不能直接使用非静态成员,因为非静态成员与 实例相关 ◼ static方法中不能使用this(与实例相关) ◼ 非static方法中可以使用静态成员
class SimpleMath private int nValue =10; private static int staticValue =20; public static void staticDisplay() Console.WriteLine("静态方法调用"); ∥Console.WriteLine("nValue的值为o}",nValue)i ∥错误,静态方法引用了非静态成员 Console.WriteLine("staticValuel的值为o",staticValue); public void Display() Console.WriteLine("实例方法调用); Console.WriteLine("nValuel的值为{o}",nValue); Console.WriteLine("staticValuel的值为O}",staticValue; ∥没问题,实例方法可以引用静态成员 9
9