问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#中virtual, abstract和override的区别和用法?

发布网友 发布时间:2022-04-24 15:06

我来回答

1个回答

热心网友 时间:2022-04-27 13:16

irtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义。


(1)virtual修饰的方法必须有实现(哪怕是仅仅添加一对大括号),而abstract修饰的方法一定不能实现。


(2)virtual可以被子类重写,而abstract必须被子类重写。


(3)如果类成员被abstract修饰,则该类前必须添加abstract,因为只有抽象类才可以有抽象方法。


(4)无法创建abstract类的实例,只能被继承无法实例化。

Override关键字主要是提供派生类对基类方法的新实现,重写的基类方法必须和Override的方法具有相同的签名, 此关键字不可以用于重写非虚方法和静态方法,与其配套使用的关键字是Virtual、abstract、Override。

与此同时,Override方 法还不可以修改Virtual方法的可访问性,Override方法和Virtual方法必须具有相同的访问修饰符,不能使用修饰符 new、static、virtual 或 abstract 来修改 override 方法。

Virtual 关 键字允许在派生类中重写这些对象,默认情况下,方法是非虚拟的,不可以重写非虚方法,virtual关键字不可以与static、abstract、 private、override一起使用。Virtual关键字又是和override紧密不可分的,如果要实现Virtual方法就必须要使用 override或new关键字(new和override产生的机理不同)。


总结:New关键字主要用来区别派生类和基类同名方法的选择问题,通过隐藏基类方法,达到使编译器调用正确的方法的目的。Override主要用来对基类的方法和虚方法进行重写。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
氢气瓶收口 Access Token & Refresh Token 详解以及使用原则 良溪村村落景点 支付宝上首度试水养老目标基金,用户如何购买? 上上下下、仔仔细细地看 叫什么看 新手创业应具备哪些条件 德阳科贸职业学院中职部招生专业有哪些?有会计专业吗? 德阳科贸职业学院一年学费是多少 格力天花机E1是什么原因造成的 山东困觉是什么意思? C#中实现某个接口时,需要使用override关键字吗 C#中Virtual与override分别有什么用途 C#中 override和new关键字的区别 c# override 关键字的,就是默认包括virtual的意思吗? 了解何时使用 Override 和 New 关键字 关键字 virtual 声明函数有什么作用? c#中重写( override)的作用或目的是什么 在C#中,关键字base、override、new的作用 为什么override关键字要写在函数原型的最后 C#中的“override”的作用是什么? 小熊一键重装系统好不好 我们为什么需要override关键字 我用小熊重装win7的系统,都半天了,也不知道怎么弄了,求大神帮忙指教,我是电脑菜鸟,一点也不懂得? 为什么需要override关键字求解 下了一个小熊电脑重装,等了两小时就一直黑屏,就强制关机了,之后启动会跳出黑屏,如下? c++的override关键字什么意思 用了小熊重装系统,从xp升win7最后一直是这个画面,重启没用,依旧这样。现在我还能干啥? 手机和电话手表为亲情号设置,设置一切正常,电话手表可以给手机打通,但 ... 小熊系统原版win10怎么重装 安装windows7的时候,我用小熊一键重装,然后忘按第三步内容。就成了这样 然后点多次确认就不行 一道c++改错题 在派生类中,用override和new关键字修饰基类的方法有什么不同? 安全知识简短内容是什么? 关于安全知识的内容 交通安全知识内容有哪些? 安全知识宣传内容有哪些? 出行安全知识内容有哪些? 小学生安全知识内容有哪些? 请问英语语言文学专业的专业型硕士分数线是多少 现在的英语语言文学专业的研究生就业情况怎么样?越详细越好,谢谢 英语语言文学之类的硕士应该算什么硕士 有没有哪个学校招英语语言文学专业有硕博连读的? 硕士研究生是不是没有英语语言文学专业 复旦大学‘英语语言文学专业’硕士研究生阶段是几年... 英语语言文学研究生 英语语言文学硕士是属于学术性研究生还是专业性研究生啊 考研考英语语言文学这个专业怎么样? 西南大学英语语言文学学硕好录取吗 您好!我是英语语言文学硕士研究生,目前在公司里面做笔译的话会涉及到机器翻译吗、总体翻译难度如何? 英语语言文学专业硕士是否可以免考NAATI?