C#中抽象方法与虚拟方法的区别
作者:shichen2014 时间:2021-10-30 07:30:15
学过C#的人应该都知道抽象方法与虚拟方法,而很多初学者对二者之间的区别并不是很了解。今天本文就来分析一下二者之间的区别。并附上实例加以说明。具体分析如下:
一、主要区别:
对于抽象方法,子类必须实现它。
对于虚拟方法,子类可以重写也可以不重写。
因此,两者约束不同
二、实例代码如下:
/* 声明一个抽象类
* 1.抽象类中可以包含变量
* 2.抽象方法中无法声明方法体
*/
abstract class AbsClass
{
string name;
public abstract void DisplayValue(string value);
}
/*继承抽象类的子类必须实现抽象方法*/
class AbsClassInherited : AbsClass
{
/*使用override重写实现*/
public override void DisplayValue(string value)
{
Console.WriteLine(value.ToUpper());
}
}
/* 声明虚拟函数
*/
class VirtClass
{
/*声明一个虚拟函数
虚拟函数必须实现方法体*/
public virtual void DisplayValue(string value)
{
Console.WriteLine(value);
}
}
/*虚拟方法可以实现也可以不实现*/
class VirtClassInherited : VirtClass
{
/*使用override重写实现*/
public override void DisplayValue(string value)
{
Console.WriteLine(value.ToUpper());
}
}
/* 声明一个接口
* 1.接口中的方法必须是公用的
* 2.接口中不允许有变量
* 3.接口中的方法不允许有方法体
*/
interface IAbs
{
void DisplayValue(string value);
}
希望本文所做的分析对大家的C#程序设计能有所帮助。
标签:C#
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
java数据结构基础:稀疏数组
2021-12-18 19:01:17
![](https://img.aspxhome.com/file/2023/0/90990_0s.png)
idea中同一SpringBoot项目多端口启动
2023-05-09 06:39:27
![](https://img.aspxhome.com/file/2023/0/88060_0s.png)
Android监听键盘状态获取键盘高度的实现方法
2023-12-02 16:44:17
springboot项目部署到宝塔的详细图文教程
2023-03-27 05:24:31
![](https://img.aspxhome.com/file/2023/0/86790_0s.png)
java返回集合为null还是空集合及空集合的三种写法小结
2021-08-18 05:37:48
Spring Bean生命周期之BeanDefinition的合并过程详解
2023-11-29 02:50:35
关于@ConditionalOnProperty的作用及用法说明
2023-11-24 02:39:19
Spring AOP底层源码详解
2022-03-12 02:00:26
C#使用yield关键字构建迭代器详解
2023-02-09 12:48:49
C#读写xml文件方法总结(超详细!)
2023-11-23 13:16:40
使用JVM常用GC日志打印参数
2021-09-06 17:36:41
![](https://img.aspxhome.com/file/2023/2/65752_0s.png)
基于eclipse.ini内存设置的问题详解
2021-08-25 02:56:55
使用C#调用百度地图并实现坐标点的设置以及读取示例
2023-01-06 02:32:57
![](https://img.aspxhome.com/file/2023/5/87015_0s.png)
详解maven中profiles使用实现
2022-11-13 23:14:24
![](https://img.aspxhome.com/file/2023/2/64512_0s.jpg)
C#实现微信红包功能
2023-11-30 02:49:51
![](https://img.aspxhome.com/file/2023/7/86977_0s.jpg)
深入了解JAVA HASHMAP的死循环
2023-11-28 00:32:12
Java回调函数实例代码详解
2023-11-23 18:22:26
举例详解用Java实现web分页功能的方法
2021-07-27 10:50:19
深入剖析构建JSON字符串的三种方式(推荐)
2023-09-26 07:47:22
![](https://img.aspxhome.com/file/2023/6/68696_0s.png)
c#分页读取GB文本文件实例
2021-09-13 10:18:39
![](https://img.aspxhome.com/file/2023/8/92878_0s.png)