亲宝软件园·资讯

展开

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

人气:0
想了解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();//与上面相同

加载全部内容

相关教程
猜你喜欢
用户评论