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 的话就不改变父类里的方法;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步