Sealed,new,virtual,abstract与override的区别
1. Sealed:
a) 密封类不能被继承。
b) 密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或者属性时,sealed修饰符必须始终与Override一起使用。
2. New:
a) 显示隐藏从基类继承的成员。
3. Virtual:
a) 用于修改方法或者属性的说明,在这种情况下,方法或者属性被称作虚成员,虚成员的实现可由派生类的重写成员更改。---为了子孙后代。
4. Abstract:可以修饰类,方法,属性,索引器以及事件一起使用。
a) 抽象类的一些特点
i. 抽象类不能被实例化。
ii. 抽象类可以包括抽象方法或者抽象访问器。
iii. 不能用sealed修饰符修改抽象类,这意味着该类不能被继承。
iv. 从抽象类派生的非抽象类必须包括继承的所有的抽象方法或者抽象访问器的实现。
v. 在方法或者属性的声明中使用abstract修饰符以指示此方法或者属性不包含实现。
b) 抽象方法具有以下一些特点
i. 抽象方法是隐式的virtual方法
ii. 只允许在抽象类中使用抽象方法声明。
iii. 抽象方法不提供实际的实现,所以没有方法体。
iv. 实现由overriding方法提供,它是非抽象类的成员。
v. 不能结合static或者Virtual使用。
vi. 在派生类中,通过包括override修饰符的属性声明可以重写抽象的继承特性。
c) Override:修饰方法,属性,索引器或事件,主要提供派生类对基类方法的实现,覆盖上面的abstract,virtual两种关键字修饰的成员。
i. Override:好比不用祖宗的那一套,而且还自己创一套新功夫代替祖宗那一套。
ii. 和New的区别:
1. 用overrid修饰的基类方法必须是virtual或者抽象的,而new不必要。
2.用一个基类对象来访问基类的virtual方法,override方法会被访问到,而new重写的派生类的方法不会被访问到。
物流配货网-您身边的物流,配货,货运专家 http://www.wlphw.com/ 网站建设-网站制作-网店-商场网站-博客-论坛-企业展示网站-商品展示网站-企业网站-商品销售网站-产品展示网站-网络推广网站-等各类网站.QQ联系:471226865
Sealed,new,virtual,abstract与override的区别相关推荐
- C# selecd,new,virtual,abstract与override
本文大部分内容摘自 <.NET开发专家·亮剑.NET : .NET深入体验与实战精要> 博主只是搬运工,不喜勿喷. 关于虚方法,抽象类这一部分一直不是太清楚,目前的工作中也接触不到这些. ...
- sealed、new、virtual、abstract与override 趣解
1. sealed--"断子绝孙"密封类不能被继承.密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于 方法或属性时,sealed修饰符必须始终与over ...
- C# new和override的区别和用途
override 1. override是派生类用来重写基类中方法的: 2. override不能重写非虚方法和静态方法: 3. override只能重写用virtual.abstract.overr ...
- C#中new和override的区别
using System; //C#中new和override的区别 namespace Text {//在C#中,override和new都会覆盖父类中的方法.那它们两者之前有什么区别呢?//ove ...
- 类的 三大特性 封装,继承,多态 overload与override的区别
OOP三大特性:封装,继承,多态 封装的目的:为了让类更安全 封装的做法: 1.类里面的成员变量做为private 2.使用成员方法来间接访问成员变量 3.在该方法里面加限制条件 php类里面不允许出 ...
- Overload和Override的区别说明
下文笔者讲述Overload和Override的区别简介说明,如下所示: Overload:重载Override:覆盖(重写)------------------------------------- ...
- Overload和Override的区别。
Overload和Override的区别. Overloaded的方法是否可以改变返回值的类型? Overload是重载的意思,Override是覆盖的意思,也就是重写. 重载Overload表示同一 ...
- Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值
Overload 和Override 的区别.Overloaded 的方法是否可以改变返回值的类型? Overload 是重载的意思,Override 是覆盖的意思,也就是重写. 重载Overload ...
- 【原创】C# Sealed、new、virtual、abstract、override的理解
1.sealed 密封类不能被继承,密封方法可以重写基类中的方法,但其本身不能在任何派生类(子类)中 进一步重写.当应用于属性或者方法时,sealed 修饰符必须始终和override一同使用. 通俗 ...
最新文章
- EOS 智能合约源代码解读 (9)boot合约
- 人工智能 | 增强小目标检测(Augmentation for small object detection)
- 绝望的力量:美术创作者的晋级之路
- Java黑皮书课后题第5章:5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格
- 7个月,4000+人,500+源码笔记,诚邀你参加源码共读~
- ifconfig没有ip地址_没有宽带也可以实现全家上网
- SQL---------表的约束
- 解决 eclipse 生成 javadoc 中文乱码的问题
- AC日记——图灵机游戏 codevs 2292
- 项目总结 -谷粒学院
- 【最全解决方案】WPS软件复制PDF后粘贴到Word格式混乱,如图,如何解决?
- Windows批量修改文件或文件夹名称
- 互联网公司对Android,iOS开发工程师的职位要求
- 浏览器标签中显示京东logo
- excel怎么按照年月日时分秒的格式以每隔一个小时进行填充序列
- uiuc的计算机工程硕士学费标准,美国计算机硕士留学费用全都在这了!
- python对seo有什么用_pythonseo-python对于做SEO主要有什么作用
- Markdown语法文档,Markdown教程,Markdown语法大全,
- 2017年支付宝五福活动的python生福脚本。
- 自然语言处理(NLP)在医疗领域的应用
热门文章
- c语言file_C语言 技能提升 系列文章(七)格式化输入/输出
- 输入任意个整数以回车键结束_Enter键只知道回车作用?以下7个用法,你会几个?...
- SVN分支与合并【超详细的图文教程】(转载)
- 软件测试女孩学适合吗
- 题目:[NOIP2008]笨小猴
- Win7安装软件,界面上中文显示乱码的解决方案
- WP8中 ListBox x下拉刷新 以及 ScrollViewer/ListBox 的ManipulationCompleted 失效的解决方案
- 问题解决:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
- CSS-解决苹果点击高亮、安卓select灰色背景(select下拉框在IOS中背景变黑、出现阴影问题)
- MySQL测试环境遇到 mmap(xxx bytes) failed; errno 12解决方法