温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#方法重写怎么实现

发布时间:2021-12-01 11:46:27 来源:亿速云 阅读:397 作者:iii 栏目:编程语言

这篇文章主要介绍“C#方法重写怎么实现”,在日常操作中,相信很多人在C#方法重写怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#方法重写怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

C#方法重写

通过为声明的方法提供新的实现,派生类可以重写基类的方法。Java 和 C# 之间的一个重要区别在于,Java 方法在默认情况下标记为虚方法,而在 C# 中,必须使用 virtual 修饰符才能将方法显式标记为虚方法。可以采用大致相同的方式重写属性访问器以及方法。

派生类中要被C#方法重写是用 virtual 修饰符声明的。而在派生类中,已被C#方法重写用 override 修饰符声明。

override 修饰符表示派生类的方法或属性,这个派生类代替基类中具有相同的名称和签名的类。要被重写的基方法必须声明为 virtual、abstract 或 override:以这种方式重写非虚方法或静态方法是不可能的 — 请参见关于此问题的下一部分。已被C#方法重写或属性和重写方法或属性必须具有相同的访问级修饰符。

下面的示例显示了一个称为 StepUp 的虚方法,它是在派生类中用 override 修饰符重写的:

using System;  public class CountClass  {  public int count;   // Constructor  public CountClass(int startValue)  {  count = startValue;  }   public virtual int StepUp()  {  return ++count;  }  }   class Count100Class : CountClass  {  // Constructor  public Count100Class(int x) : base(x)  {  }   public override int StepUp()  {  return ((base.count) + 100);  }   public static void Main()  {  CountClass counter = new CountClass(10);  CountClass bigCounter = new Count100Class(10);  Console.WriteLine("Value of count in base class = {0}",  counter.StepUp());  Console.WriteLine("Value of count in derived class = {0}",  bigCounter.StepUp());  }  }

当我们运行这段代码时,会发现派生类的构造函数使用基类中给出的方法体,这使得我们在不复制该代码的情况下就可以初始化 count 成员。

到此,关于“C#方法重写怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI