源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中new和override的区别个人总结

  • 时间:2020-01-21 13:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中new和override的区别个人总结
[b]问题:[/b] A类 有方法 public virtual void test() B类继承自A类,有方法 public new void test()  如下实例化:
A a = new B(); 
a.test();
会调用哪个类中的TEST方法,最好能详细给我解释一下好吗?先谢谢了! [b]回答:[/b] 如果你用override,则无论调用的是A类还是B类中的TEST(),系统都会找到它实质类的TEST(); 如果是用的New,则可以通过类型转换调用到基类的TEST(); 下面是override的情况:
A a = new A(); 
B b = new B();
A a1=new B();
a.Test();//调用A中Test();
b.Test();//调用B中Test();
a1.Test();//调用B中Test();系统会自动识别a1是B的实例
((A)b).Test();//与上面相同 下面是new的情况:
A a = new A(); 
B b = new B();
A a1=new B();
a.Test();//调用A中Test();
b.Test();//调用B中Test();
a1.Test();//调用A中Test();
((A)b).Test();//与上面相同
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部