C#中Abstract和Virtual

简介:

C#中Abstract和Virtual
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。

一、Virtual方法(虚方法)

 virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:

 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。

 情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。

二、Abstract方法(抽象方法)

 abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现。

接口和抽象类:

最本质的区别:抽象类是一个不完全的类,是对对象的抽象,而接口是一种行为规范。
本文转自转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/p/4607073.html如需转载请自行联系原作者

jiahuafu

相关文章
|
3月前
|
C# 索引
C#中的virtual和override关键字
C#中的virtual和override关键字
45 3
|
6月前
|
C# 索引
C#学习相关系列之abstract和virtual用法
C#学习相关系列之abstract和virtual用法
C#学习virtual(虚拟的)和abstract(抽象的)的区别
C#学习virtual(虚拟的)和abstract(抽象的)的区别
115 0
|
C#
C# 虚方法(virtual)案例详解
C# 虚方法(virtual)案例详解
201 3
|
C# 索引
走进C# abstract,了解抽象类与接口的异同
走进C# abstract,了解抽象类与接口的异同
109 0
|
设计模式 C#
C#(十九)之抽象类abstract
本篇内容记录了C#中的抽象类的一些特点。
250 0
C#(十九)之抽象类abstract
C#(十八)之C#虚方法virtual
C#中的继承,C#是面向对象语言,面向对象三种特性:封装、继承、多态。 这里主要是继承,本篇只是基础。
167 0
C#(十八)之C#虚方法virtual
|
测试技术 C#
C#语法-虚方法详解 Virtual 虚函数
虚方法 / Virtual 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心...
1154 0
|
C#
使用C# (.NET Core) 实现抽象工厂设计模式 (Abstract Pattern)
本文的概念性内容来自深入浅出设计模式一书. 上一篇文章讲了简单工厂和工厂方法设计模式 http://www.cnblogs.com/cgzl/p/8760250.html, 使用的是披萨店的例子. 文将继续使用这个例子, 这里要用到抽象工厂.
1366 0