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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

  2021-03-21 我要评论
想了解C#中new和override的区别个人总结的相关内容吗,在本文为您仔细讲解C# new和override区别的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,new,override,区别,下面大家一起来学习吧。

问题:

A类 有方法 public virtual void test()
B类继承自A类,有方法 public new void test() 
如下实例化:

A a = new B(); 
a.test();

会调用哪个类中的TEST方法,最好能详细给我解释一下好吗?先谢谢了!

回答:

如果你用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();//与上面相同

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们