`
pumaboyd
  • 浏览: 249520 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C# override,new 的区别

阅读更多

本来不想取这个标题的,但考虑到SEO上的问题,我还是决定使用这个title。override和new的区别其他blogs也能搜索到很多。我这里将大概意思列举一下:

override重写虚方法,那么就只剩下重写以后的方法;
new隐藏基类的方法,那么基类的方法和当前类的方法同时存在只是被隐藏了

这里就引出了我想表达的意思:面向对象中隐藏、重写、重载的概念。这几个概念在我们讨论面向对象的时候经常说到。

隐藏:new

重写:override

重载:其实是一个方法的多种实现方式,但方法的名称是相同的

public class Transport
{
    public Transport(){}
    public virtual void Go(){}
    public virtual void Go(Road road){}
}
public class Car :Transport
{
    public override void Go()
    public new void Go(Road road){}
}

大家可以仔细看一下Go这个方法,上面的三种形式都提到。看完这个以后大家对面向对象的隐藏、重写、重载应该知道如何表达了。

--=阅读快乐=--

Google 标记: overrid, new, 重写, 重载, 隐藏
分享到:
评论

相关推荐

    c# override new base 关系

    在C#编程语言中,`override`、`new` 和 `base` 是三个关键字,它们在处理类继承和方法重写时起着至关重要的作用。理解这三个关键字的关系和用法对于编写可扩展和灵活的代码至关重要。 首先,我们来看 `override` ...

    了解何时使用 Override 和 New 关键字(C# 编程指南)

    本文将详细探讨 C# 中 `override` 和 `new` 关键字的区别及其应用场景。 #### 基础概念 - **Override**: 当一个派生类需要修改或扩展从基类继承的方法的行为时,可以使用 `override` 关键字。这要求基类的方法必须...

    图解C# new和override的区别.doc

    在C#编程语言中,`new`和`override`关键字在继承关系中扮演着不同的角色,它们用于处理派生类与基类之间的方法和属性。理解这两者的区别至关重要,因为它们直接影响代码的行为。 首先,我们来看看`new`关键字。`new...

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

    在C#编程语言中,`new`和`override`关键字都是用来处理方法重写和隐藏的,但它们的行为和用途有所不同。以下是对这两个关键字详细解释的个人总结。 首先,`override`关键字用于重写基类中的虚方法(virtual methods...

    new和override区别的小例子

    在编程语言中,尤其是面向对象的语言如C#,`new`和`override`是两个非常重要的关键字,它们在处理类的继承和多态性时起到关键作用。理解这两个关键字的区别对于编写灵活、可扩展的代码至关重要。 首先,我们来看`...

    C#中Override关键字和New关键字的用法详解

    在C#编程语言中,Override和New关键字是用于处理继承关系中方法和属性重定义的重要概念,它们在处理多态性方面起到关键作用。这里我们将深入探讨这两种关键字的用法和区别。 首先,Override关键字用于明确表示派生...

    深入理解C#中new、override、virtual关键字的区别

    在C#编程语言中,`new`、`override` 和 `virtual` 是三个与继承和多态性密切相关的关键字。理解它们的区别对于编写高效的面向对象代码至关重要。 首先,`new` 关键字主要用作修饰符,有以下作用: 1. 创建对象:`...

    C#的New关键字的几种用法

    需要注意的是,在同一成员上同时使用new和override是错误的。 New约束 New约束用于在泛型声明中约束可能用作类型参数的参数的类型。 C#语言中的New关键字是一个非常有用的工具,它可以用于创建对象、隐藏基类成员...

    C# new和override的区别分析

    在C#编程语言中,`new` 和 `override` 关键字在继承关系中用于处理方法和属性的行为,它们有着显著的区别。以下是这两个关键字的详细解释及其在代码中的应用。 `new` 关键字: 1. **运算符**:`new` 作为运算符时,...

    new、abstract、virtual、override,sealed关键字区别和使用代码示例

    C# 中的 new、abstract、virtual、override、sealed 关键字的区别和使用代码示例 摘要:本资源旨在对 C# 中的 new、abstract、virtual、override、sealed 关键字进行详细的解释和比较,并提供实践代码示例,以帮助...

    C#中new的用法及与override的区别分析

    C#中new的用法有三种: (1)new是运算符,用于创建对象和调用构造函数。如Class1=new Class1();也可以为值类型调用默认的构造函数如int a=new int();此时a=0. (2)new是修饰符,用于隐藏基类成员的继承成员。override...

    c#中new-的几种用法-经典案例-公司应聘 c#经典案例.doc

    需要注意的是,在同一成员上同时使用 new 和 override 是错误的。在不隐藏继承成员的声明中使用 new 修饰符将生成警告。 new 约束 new 约束用于在泛型声明中约束可能用作类型参数的参数的类型。例如: public ...

    详解C#用new和override来实现抽象类的重写区别

    在C#编程语言中,`new`和`override`关键字都是用来处理方法重写和隐藏的,但它们之间存在着显著的区别。这篇文章将深入探讨这两种方式在实现抽象类重写时的具体差异。 首先,我们来看一下抽象类的实现。在C#中,...

    New与Override重写的区别例子.txt

    ### New与Override重写的区别 在C#编程语言中,`new` 和 `override` 关键字被用于实现多态性。多态性是面向对象编程的一个重要特性,它允许子类继承父类的方法并根据自己的需求进行修改或扩展。然而,`new` 和 `...

    new,override,virtual 示例

    在C#编程语言中,`new`、`override`和`virtual`是三个非常重要的关键字,它们用于控制类成员(主要是方法)的行为,涉及到多态性这一核心概念。接下来我们将详细探讨这三个关键字以及它们在实际编程中的应用。 1. `...

    C#的New关键字的几种用法收藏

    - 在同一个成员声明中同时使用`new`和`override`是错误的,因为它们的含义相反:`new`是隐藏,而`override`是重写。 - 当不隐藏继承成员时,使用`new`修饰符会生成警告,因为这可能导致意外的代码行为。为了避免这种...

Global site tag (gtag.js) - Google Analytics