派生类中new方法和override重载方法的区别

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sq1983918/article/details/76977595

简单介绍一下,派生类中new方法和override重载方法的区别:
1、new 方法的使用:
public class Base01
{
public void GetMethodName()
{
Console.WriteLine(“调用了 Base01 Class Method!”);
}
}

public class Derive01 : Base01
{
    public new void GetMethodName()
    {
        Console.WriteLine("调用了 Derive01 Class new Method!");
    }

    public void GetBaseMethod()
    {
        base.GetMethodName();
    }

}

class Program
{
static void Main(string[] args)
{

        Base01 base01 = new Derive01();

        base01.GetMethodName();

        Derive01 derive01 = new Derive01();

        derive01.GetMethodName();

        derive01.GetBaseMethod();

        Console.ReadKey();
    }
}
运行结果,如图:

这里写图片描述

2、override方法的使用

public class Base02
{
    public virtual void GetMethodName()
    {
        Console.WriteLine("调用了 Base01 Class Method!");
    }
}

public class Derive02 : Base02
{
    public override void GetMethodName()
    {
        Console.WriteLine("调用了 Derive01 Class new Method!");
    }

    public void GetBaseMethod()
    {
        base.GetMethodName();
    }
}


class Program
{
    static void Main(string[] args)
    {   
        Base02 base02 = new Derive02();

        base02.GetMethodName();

        Derive02 derive02 = new Derive02();

        derive02.GetMethodName();

        derive02.GetBaseMethod();

        Console.ReadKey();
    }
}  
运行结果,如图:

这里写图片描述

展开阅读全文

没有更多推荐了,返回首页