在C#的继承中尝尝会用到相关的修饰词:override和new。这两个修饰符都可以在新的子类中,重写同名的父类方法。下面通过本文给大家介绍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("运行结束");
}
}
输出结果如下:
总结
以上所述是小编给大家介绍的C#中overrid和new修饰符有什么不同,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程学习网网站的支持!
沃梦达教程
本文标题为:C#中overrid和new修饰符有什么不同
猜你喜欢
- c# 模拟线性回归的示例 2023-03-14
- .NET CORE DI 依赖注入 2023-09-27
- 如何使用C# 捕获进程输出 2023-03-10
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- Unity Shader实现模糊效果 2023-04-27
- Unity3D实现渐变颜色效果 2023-01-16
- user32.dll 函数说明小结 2022-12-26
- Oracle中for循环的使用方法 2023-07-04