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#
0
投稿

猜你喜欢

  • java数据结构基础:稀疏数组

    2021-12-18 19:01:17
  • idea中同一SpringBoot项目多端口启动

    2023-05-09 06:39:27
  • Android监听键盘状态获取键盘高度的实现方法

    2023-12-02 16:44:17
  • springboot项目部署到宝塔的详细图文教程

    2023-03-27 05:24:31
  • 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
  • 基于eclipse.ini内存设置的问题详解

    2021-08-25 02:56:55
  • 使用C#调用百度地图并实现坐标点的设置以及读取示例

    2023-01-06 02:32:57
  • 详解maven中profiles使用实现

    2022-11-13 23:14:24
  • C#实现微信红包功能

    2023-11-30 02:49:51
  • 深入了解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
  • c#分页读取GB文本文件实例

    2021-09-13 10:18:39
  • asp之家 软件编程 m.aspxhome.com