C#语言有很多值得学习的地方,这里我们主要介绍C#方法重写,包括介绍 virtual 修饰符和override 修饰符等方面。
创新互联服务项目包括魏都网站建设、魏都网站制作、魏都网页制作以及魏都网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,魏都网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到魏都省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
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#方法重写全面介绍
本文路径:http://www.gawzjz.com/qtweb/news19/170669.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联