C#中overrid和new修饰符有什么不同-创新互联
在C#的继承中尝尝会用到相关的修饰词:override和new。这两个修饰符都可以在新的子类中,重写同名的父类方法。

override: 扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现需要使用到。
new:在用作声明修饰符时,new 关键字可以显式隐藏从基类继承的成员。 隐藏继承的成员时,该成员的派生版本将替换基类版本。
以上是这两个修饰符的解释。对于这两者之间的区别之类的说法,其实网上找到的有很多,大多都是些概念性的东西。我这里主要是对于,自己测试的代码和大家分享下。
using System;
public class BaseClass{
public virtual void ShowA(){
Console.WriteLine("A");
}
public void ShowB(){
Console.WriteLine("B");
}
public void ShowAB(){
ShowA();
ShowB();
}
}
public class TestClass:BaseClass{
public override void ShowA(){
Console.WriteLine("AA");
}
public new void ShowB(){
Console.WriteLine("BB");
}
}
public class Example
{
public static void Main()
{
TestClass test = new TestClass();
test.ShowA();
test.ShowB();
test.ShowAB();
BaseClass test1 = new TestClass();
test.ShowA();
test.ShowB();
test.ShowAB();
Console.ReadLine();
Console.WriteLine("运行结束");
}
}另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:C#中overrid和new修饰符有什么不同-创新互联
分享地址:http://www.jxjierui.cn/article/dseees.html


咨询
建站咨询
