C#中 virtual 和 abstract 的区别
来源:互联网 发布:js怎么判断是不是整数 编辑:程序博客网 时间:2024/05/29 21:36
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。
一、Virtual方法(虚方法)
virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:
情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。
情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
注意:在静态属性上使用 virtual 修饰符是错误的!
二、Abstract方法(抽象方法)
abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现。
0 0
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中Abstract和Virtual的区别
- C#中 virtual 和 abstract 的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- C#中virtual和abstract的区别
- ball
- 欢迎使用CSDN-markdown编辑器
- Scala PartialFunction 与 括号
- nyoj 最长公共子序列
- vmware安装无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件
- C#中 virtual 和 abstract 的区别
- top 详解
- ThinkPHP 模板中IF的使用
- HDU_5586_Sum(最大连续子段和)
- Class templates类模板
- Little Tiger vs. Deep Monkey
- Android的EditText属性
- 启动虚拟机The VMware Authorization Service is not running.错误
- Lua基础之table详解