转载 [c#] 虚函数(Virtual),抽象函数(abstract)和接口的区别

Posted mabel hua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转载 [c#] 虚函数(Virtual),抽象函数(abstract)和接口的区别相关的知识,希望对你有一定的参考价值。

1.virtual:允许被重写,但不强制要求。声明时提供其自身实现;
2.abstract:强制要求其继承者重写。声明时不提供其自身的实现,抽象类不能被实例化;
3.interface:接口就是协议,其声明的成员(属性,方法,事件和索引器)必须由其继承的类实现。接口不能直接被实例化。

虚方法与抽象方法的区别在于,虚方法提供自身的实现,并且不强制要求子类重写;而抽象方法不提供自身的实现,并且强制子类重写。

抽象类与接口很相似,但是思路不一样。接口是公开类的成员,而抽象类则是抽象类成员以要求子类继承并实现。

 

原文地址:

http://www.cnblogs.com/staid/archive/2010/06/23/1763437.html

以上是关于转载 [c#] 虚函数(Virtual),抽象函数(abstract)和接口的区别的主要内容,如果未能解决你的问题,请参考以下文章

c#中啥情况用abstract,啥情况下用virtual

C#中的虚方法Virtual

C#虚方法virtual详解

C#虚方法(Virtual)抽象方法(Abstract),接口(Interface)抽象类的区别

C++ 虚函数(virtual) 和纯虚函数(pure virtual) 的区别

虚函数调用(转载)