C# 中有两种类型的多态:
编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。
运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。 C#中,运行时的多态性通过覆写虚成员实现。
重载的特点:(两必须一可以)
Ø方法名必须相同
Ø参数列表必须不相同
Ø返回值类型可以不相同
在调用重载方法时,编译器会根据参数来找到与之匹配的函数。
一般情况下,如果多个方法在概念上完成相同的工作,但是调用的参数有差异时,就可以考虑使用重载,如果两个函数实现的功能有很大的差异时,则不应该使用重载,因为这样容易造成困扰。