手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#中抽象方法与虚拟方法的区别
C#中抽象方法与虚拟方法的区别
摘要:学过C#的人应该都知道抽象方法与虚拟方法,而很多初学者对二者之间的区别并不是很了解。今天本文就来分析一下二者之间的区别。并附上实例加以说明。...

学过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#中抽象方法与虚拟方法的区别】相关文章:

在Framework 4.0中:找出新增的方法与新增的类(一)

C#中按引用传递与按值传递的区别,以及ref与out关键字的用法详解

C# SendKeys使用方法介绍

C#中Monitor对象与Lock关键字的区别分析

c#中GetType()与Typeof()的区别

C#定位txt指定行的方法小例子

C#中方法的详细介绍

.NET中的静态与非静态的区别分析

C# 无边框窗体边框阴影效果的简单实现

C# 拓展方法的简单实例

精品推荐
分类导航