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

发表于:2009-10-22 10:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

分享:

  输出:

  A

  B

  A.Fun()

  B.Fun2()

  A.Fun3()

  1——

  OVERRIDE和NEW的方法都必须是基类中VIRTUAL或ABSTRACT的方法

  2——

  OVERRIDE的方法是可以通过BASE前缀调用基类中被OVERRIDE的方法的

  3——

  NEW的方法是一个全新的方法,不能使用BASE前缀来调用基类中被NEW后的方法。

  override-覆盖(旧的没有了)

  new-新的(新旧共存)

  new关键字就是终止该方法的虚拟性。比如:

  class A
  {
  public abstract void func(){};
  }
  class B:A
  {
  public override void func(){};
  }
  class C:B
  {
  public new void func(){};
  }

  那么,你可以:

  A a = new B();

  a.func();

  但不能这么做:

  A a = new C();

  a.func();

  而且也不能再override这个方法,因为这个方法已经被终止了虚拟属性,所以不能这样:

  class D:C

  {

  public override void func(){};

  }

22/2<12
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号