C#中override和new关键词的区别

   2024-10-06 5460
核心提示:在C#中,override和new关键词都用于实现方法的重写(覆盖),但它们之间有一些重要的区别:override关键词用于重写基类中的虚方

在C#中,override和new关键词都用于实现方法的重写(覆盖),但它们之间有一些重要的区别:

override关键词用于重写基类中的虚方法,子类中的重写方法必须和基类中的虚方法具有相同的签名(包括返回类型、参数列表等),并且必须使用override关键词标记。这样做可以确保子类中的方法覆盖了基类中的虚方法。
class A{    public virtual void Method()    {        Console.WriteLine("A");    }}class B : A{    public override void Method()    {        Console.WriteLine("B");    }}
new关键词用于隐藏基类中的方法,子类中的隐藏方法不需要和基类中的方法具有相同的签名,但必须使用new关键词标记。这样做可以在子类中创建一个新的方法,而不是覆盖基类中的方法。
class A{    public void Method()    {        Console.WriteLine("A");    }}class B : A{    public new void Method()    {        Console.WriteLine("B");    }}

总的来说,override关键词用于重写基类中的虚方法,new关键词用于隐藏基类中的方法。通常情况下,建议优先使用override关键词,因为它遵循面向对象编程的原则,可以确保代码的可维护性和可扩展性。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号