1. 重载(overload):简单的说就是参数列表不同,个数不同/个数相同但类型不同/个数,类型都不相同.也可以是类型一样但顺序不一样.
class Program
{
static void Main(string[] args)
{
int a = MyMath.Add(12, 36);
Console.WriteLine("整数相加结果:{0}",a);
float b = MyMath.Add(12, 36.36f);
Console.WriteLine("浮点数相加结果:{0}",b);
float ff = MyMath.Add(36.36f, 23);
Console.WriteLine("浮点数和整数相加结果是:{0}",ff);
double d = MyMath.Add(42.52, 23);
Console.WriteLine("双精浮点数和整数相加结果是:{0}",d);
}
}
class MyMath { public static int Add(int a, int b) { return a + b; } public static float Add(float a, float f) { return a + f; } public static double Add(double a, double f) { return a + f; } public static decimal Add(decimal a, decimal f) { return a + f; } //参数的类型相同,但顺序不同,构成重载。 public static float Add(int a, float f) { return a + f; } public static float Add(float f, int a) { return a + f; } //参数的类型相同,个数不同,,构成重载 public static int Add(int a) { return a; } }
2.重写(override):重写是用override来修饰方法,属性,索引器或事件,基类中函数的重写,为了实现多态