C#中virtual与abstract的区别
a) virtual修饰的方法必须有方法实现(哪怕只有一对大括号),abstract修饰的方法不能有实现。
b) virtual可以被子类重写,abstract必须被子类重写
c) 如果类中的某一函数被abstact修饰,则类名也必须用abstact修饰
d) Abstract修饰的类不能被创建实例。
e) C#中如果准备在子类重写父类的方法,则该方法在父类中必须用virtual修饰,在子类中必须用overide修饰,避免了程序员在子类中不小心重写了父类父类方法。
注:用abstract修饰的类只能被继承不能够被实例化。
转载于:https://www.cnblogs.com/xingbinggong/archive/2011/07/05/2098454.html
C#中virtual与abstract的区别相关推荐
- 浅谈C#中virtual和abstract的区别
virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义. 它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能 ...
- C#virtual和abstract的区别
虚方法和抽象方法都可以供派生类重写,它们之间有什么区别呢? 1. 虚方法必须有实现部分,抽象方法没有提供实现部分,抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化.如: //抽象方法 pu ...
- java中virtual关键字_浅谈virtual、abstract方法和静态方法、静态变量理解
说点对这几个容易混淆的词的理解: 1.c++中的virtual方法的 virtual关键字主要是防止继承中重复继承父类的同一个方法而设置的标识. 2.virtual与abstract关键字的不同之处在 ...
- sealed、new、virtual、abstract与override 趣解
1. sealed--"断子绝孙"密封类不能被继承.密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于 方法或属性时,sealed修饰符必须始终与over ...
- C#中抽象类和接口的区别与应用场景
一直对这两个基础概念没有很好的认识,在网上发现一个我能够理解的基础概念理解,存一下,反复看. C#中抽象类和接口的区别与应用场景一. 1.抽象类:抽象类是特殊的类,只是不能被实例化;和普通类一样里面什 ...
- java中separator_java - File.separator和路径中的斜杠之间的区别
java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...
- C++中overload,override,overwrite的区别?
C++中overload,override,overwrite的区别? Overload(重载) Override(覆盖) Overwrite(重写) Overload(重载) 在C++程序中,可以将 ...
- Delphi之virtual,dynamic,abstract
对象的方法能定义成静态(static).虚拟(virtual).动态(dynamic)或消息处理(message).请看下面 的例子: TFoo = class procedure IAmASta ...
- java中Runnable和Callable的区别
文章目录 运行机制 返回值的不同 Exception处理 java中Runnable和Callable的区别 在java的多线程开发中Runnable一直以来都是多线程的核心,而Callable是ja ...
- C#中new和override的区别
using System; //C#中new和override的区别 namespace Text {//在C#中,override和new都会覆盖父类中的方法.那它们两者之前有什么区别呢?//ove ...
最新文章
- (转)关于数据库主键和外键(终于弄懂啦)
- linux下配置apache多站点访问-小案例
- Javascript中的Document对象详解
- 什么是单页面应用程序
- 特征向量的辨析(数学,机器学习)
- Java多线程之Synchronized详解
- 计算机桌面如何分区,学会电脑桌面整理分区,提高工作效率
- element-ui表单中的文本域 调整高度
- Windows 95 被做成了一款 app,我们在 MacBook 上体验了它
- 迁移到MySQL的语法转换工具初步设计
- 金蝶K3系统BOM数据批量审核/使用语句
- POJ 3345 Bribing FIPA(树形dp+背包)
- 自古逢秋悲寂寥,奈何今秋热成雕?Python使用Pyecharts统计全国温度Top10并绘图
- 苹果雪豹操作系统正式版_苹果发布WatchOS 6.1.2第三个测试版本,修复Bug、提升设备稳定性...
- 找出数组中出现次数最多的数字和出现次数
- Myeclipse运行servlet文件页面报错404
- AutoJs学习-传感器图像
- 各国网络标识码表(MCC MNC表)
- 路由与交换 实验一 路由器基本配置
- Linux_clustalW安装及使用(部分)
热门文章
- 这样的Softmax你真的不了解!
- 我的小导师-天津大学张梅山老师要招NLP方向的研究生啦!
- 2019.2.4时GitHub超过15个粉丝就可以领取3000元啦!
- 时序算法—AR、MA、ARMA和ARIMA模型以及Auto ARIMA
- [论文笔记]RoBERTa: A Robustly Optimized BERT Pretraining Approach
- 数据分析师如何正确地提意见?
- 书单 | 职场办公类私藏好书,轻松Get职场必备技能
- CIA网攻中国11年,内网防护刻不容缓!
- 构建运营级IPv6网络
- ARM处理器系统初始化编程注意事项