欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-17 08:10:22
...

简单介绍一下,派生类中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();
    }
}
运行结果,如图:

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

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();
    }
}  
运行结果,如图:

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