override/new区别

Posted stgp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了override/new区别相关的知识,希望对你有一定的参考价值。

public class American : Men  //继承了Men
    {
        public override string Speak()    //override
        {
            return "美国人说英文";
        }
        public new string Eat()   //new
        {
            return "美国人吃西餐";
        }
    }

    public class Men  //父类
    {
        public virtual string Speak()
        {
            return "默认说中文";
        }

        public virtual string Eat()
        {
            return "默认吃米饭";
        }
    }

 技术图片

技术图片

 American类重写了Men类的Eat,所以执行的是重写后的Eat方法;

 American类new了一个Eat方法,所以Men类的Eat不受影响,执行的还是原来的Eat;

总结:override会重写改变父类的方法,new 的话就不改变父类里的方法;

以上是关于override/new区别的主要内容,如果未能解决你的问题,请参考以下文章

这两个代码片段有啥区别?

这两个代码片段之间有区别吗?如果有,那又如何? [复制]

jquery 对象的 heightinnerHeightouterHeight 的区别以及DOM 元素的 clientHeightoffsetHeightscrollHeightoffset(代码片段

字符串插值和片段之间有啥显着区别吗?

Deface::override 如何在部分中添加字段?狂欢

jacript var let const 区别