代码改变世界

C# 使用 Override 和 New 关键字进行版本控制

2011-10-25 11:22  Eric.Hu  阅读(220)  评论(0编辑  收藏  举报

C# 语言经过专门设计,以便不同库中的

在 C# 中,派生类可以包含与基类方法同名的方法。

  • 基类方法必须定义为

  • 如果派生类中的方法前面没有

  • 如果派生类中的方法前面带有 new 关键字,则该方法被定义为独立于基类中的方法。

  • 如果派生类中的方法前面带有 override 关键字,则派生类的对象将调用该方法,而不是调用基类方法。

  • 可以从派生类中使用 base 关键字调用基类方法。

  • overridevirtualnew 关键字还可以用于属性、索引器和事件中。

默认情况下,C# 方法为非虚方法。如果某个方法被声明为虚方法,则继承该方法的任何类都可以实现它自己的版本。若要使方法成为虚方法,必须在基类的方法声明中使用 virtual 修饰符。然后,派生类可以使用 override 关键字重写基虚方法,或使用 new 关键字隐藏基类中的虚方法。如果 override 关键字和 new 关键字均未指定,编译器将发出警告,并且派生类中的方法将隐藏基类中的方法。