C# 中普通类、抽象类、接口之间的区别

原创 2016年05月31日 09:41:18

一、普通类和抽象类之间的异同
1.都可以被继承
2.抽象类不能被实例化,只是用来继承的。普通类可以实例化
3.抽象方法只有含方法声明而没有方法体且必须包含在抽象类里面
4.子类继承抽象类必须实现抽象类中的抽象方法除非子类也是抽象类
5.抽象类中可以包含抽象方法也可以包含实例方法

二、抽象类和接口之间的异同
相同点:
1.都可以被继承
2.都可以有方法的声明
3.都不可以被实例化
4.子类必须实现基类的方法除非子类是抽象类

不同点:
1.抽象类属于多继承接口属于单继承
2.抽象类可以包含实例方法而接口不能
3.接口支持回调抽象类不能
4.子类实现抽象基类方法必须用override关键字而实现接口方法则不用override关键字

三、什么是虚方法
1.用关键字virtual声明的方法叫虚方法
2.虚方法可以只是表明可以被重写
3.虚方法可以被重新也可以不被重写
4.虚方法包含方法声明和方法体
5.静态方法不能声明为虚方法,也不能被重写

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

浅析C#中抽象类和接口的区别

文章《浅析C#中接口的重要性》中讲述了如何声明和使用接口。但是C#具有abstract关键字形成的抽象类,那么二者我们该如何选择呢!C#允许把类和函数声明为abstract。抽象类不能实例化,而抽象函...

C#抽象类和接口

接口: 所有成员默认为public,因此接口中不能有private修饰符。 派生类必须实现接口的所有成员 一个类可以直接实现多个接口,接口之间用逗号隔开 一个接口可以有多个父接口,实现...

C#的抽象类和接口的区别,在什么时候使用才合适?

原文地址:http://www.cnblogs.com/seapub/archive/2012/08/08/2628433.html 理解抽象类   abstract class和...

c#中抽象类和接口的相同点跟区别

用了几年C#,总结一下抽象类和接口的相同点与不同点。看了别人写的感觉很全面:  相同点:     (1) 都可以被继承     (2) 都不能被实例化     (3) 都可以包含方法声明     (4...

VS 下 解决SVN冲突--项目问题解决篇

最近项目开展的如火如荼。由于不是按层开发,每个人敲一条线,即使是自己在敲代码之前先更新,敲完之后立马提交也 难免和别人的会冲突。最头痛的就是这个了。忙活了半天,提交不上,还有可能把自己的 把服务端造成...

面试中SVN管理知识点全面剖析

本文和大家学习一下SVN管理问题,SVN工作模型,分支的概念和版本库布局等内容,希望通过本文的学习,你对SVN管理有更加深刻的认识。 本节讲解一下SVN管理问题,在学习SVN的过程中,你可能...
  • Augusdi
  • Augusdi
  • 2011年08月31日 11:55
  • 1175

C#接口抽象类区别实例

  • 2012年02月27日 20:59
  • 46KB
  • 下载

C#中抽象类和接口的区别.txt

  • 2013年07月11日 12:42
  • 3KB
  • 下载

Java 抽象类和普通类、接口的区别——看完你就顿悟了

Java 抽象类和普通类、接口的区别——看完你就顿悟了 标签: java抽象类概念理解抽象类与接口区别抽象类与普通类区别 2017-05-04 16:26 1029人阅读 评论(0) 收藏...

Java 抽象类、普通类、接口的区别——值得你一看的干货

【概念】 抽象类、具体类是相对的,并非绝对的。抽象是一种概念性名词,具体是一种可见可触摸的现实对象。概念越小,则其抽象程度就越大,其外延也越大,反之亦然。简单说,比如“人”比“男人”抽象...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 中普通类、抽象类、接口之间的区别
举报原因:
原因补充:

(最多只允许输入30个字)