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#中运算符重载的方方面面

1.      什么是运算符重载?   将自定义的类型赋予运算符号,使得对象和对象可以进行运算.   2.      用到的关键字:  ope...

C#接口抽象类区别实例

  • 2012-02-27 20:59
  • 46KB
  • 下载

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

概念: 抽象性和具体性都是相对的,不是绝对的。简单说,概念的内涵越小,则其抽象程度就越高,其外延也越大,反之亦然。比如“人”比“男人”抽象一点,而“生物”又比“人”更抽象一点,“物质”则比“生物...

java中抽象类和接口之间的区别和关系

首先抽象类归根结底还是属于类,对于抽象方法,是只能存在于抽象类中的,我们无法再一个非抽象的类中声明一个抽象方法,其次抽象方法只需要声明,并不需要事先。当我们要写一个抽象类的时候只需要在类的前面声明为a...
  • ysayk
  • ysayk
  • 2016-06-12 23:08
  • 597

java 接口、抽象类、具体类、内部类、匿名内部类的区别及它们之间的关系

大家面试的时候肯定被问过java 接口、抽象类、具体类、内部类、匿名内部类的区别及它们之间的关系。那么下面我就来整理下它们之间的关系。
  • vlqin1
  • vlqin1
  • 2015-09-29 17:38
  • 1423

java 接口interface和抽象类abstract class 之间的区别

Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,他们的区别如下: 1 Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Ja...

抽象类和接口的区别

C#与java中对抽象类、接口的继承和重写区别

C#: 一、继承 什么是继承:继承是允许重用现有类去创建新类的过程。分类的原则是一个类派生出来的子类具有这个类的所有非私有的属性。 1、继承C#中的类:C#不支持多重继承,C#类始终继承...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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