编译时的多态性是通过重载来实现的,那它仅仅说的是非虚成员吧?因为虚成员用的是运行时的多态性哦,概念对吗?

解决方案 »

  1.   

    public class A
    {
    public void Test()
    {
    Console.WriteLIne("0");
    }public void Test(string str)
    {
    Console.WriteLIne("1");
    }public void Test(string str,string str1)
    {
    Console.WriteLIne("2");
    }public void Test(string str,int i1)
    {
    Console.WriteLIne("3");
    }public void Test(string str,int i1,string str1)
    {
    Console.WriteLIne("4");
    }
    }上面这个类的Test方法就是重载,方法名称一样的,但参数不一样,重载就是以参数来区分具体是哪一个方法,参数个数不同,参数类型不同,相同个数,相同类型的参数,排列顺序不同,都将是一个方法的重载,返回的结果不同不能区分重载。虚函数,是继承的概念,不是重载的概念。继承和重载没有关系,继承是指接口与类,抽象类与类,父类与子类的相同方法(这里的相同是一模一样,名称,返回值,参数都一模一样)的关系。参数不同就是不同的方法,不能继承。重载是一个类的多个方法名称相同时导致的关系,就是方法名相同但参数不相同。