首页 > 技术文章 > 虚方法与两种重写方法的比较

zjx123 2017-12-21 14:58 原文

虚方法virtual..override:

1.派生类的方法和基类的方法有相同的签名和返回类型。

2.基类的方法使用virtual标注。

3.派生类的方法使用override标注。

class MyBaseClass
{
  virtual pubilc void Print()
   ...
}

class MyDerivedClass : MyBaseClass
{
    override pubilc void Print()
  ...
}

 

注意:

1.重写和被重写的方法必须有相同的可访问性。换一种说法,被重写的方法不能是private等,而重写方法是pubilc。

2.不能重写静态方法和非虚方法。


 

 

两种重写方法,一种是用override, 一种是new。

override方法中调用方法可以直接通过关键字找到相应的函数方法,new 方法调用的方法只向上传递一级。

 

详细参考 《C#图解教程》P128-129。

 

推荐阅读