抽象类

一个抽象类是一个只打算作为其他类的基类的类。抽象 “修饰符被用来使一个类成为抽象的。抽象修饰符表示有一些缺失的实现需要在其派生的类中实现。抽象类可以有抽象的和非抽象的成员。一个抽象类应该至少有一个抽象方法,否则,将该类声明为’abstract’是没有用的。

接口

一个接口只包含成员的声明,包括方法、属性、事件或索引器。它并不包含这些成员的实现。一个实现了接口的类或结构必须提供接口中声明的方法的定义。这意味着一个接口提供了一个标准的结构,派生类需要遵循。

抽象类和接口的区别

  • 一个抽象类可以有抽象的和非抽象的成员。但是,在一个接口中,所有的成员都是隐含的抽象的,必须在派生类中被重写。
  • 一个类可以继承几个接口,但只能继承一个抽象类。
  • 一个抽象类可以包含有或有定义的方法。但是,一个接口只能包含方法签名。
  • 一个抽象类可以完全实现、部分实现或完全不实现,但一个接口应该完全实现,也就是说,所有的成员都必须在派生类中定义。
  • 一个接口不能包含访问修饰符,但一个抽象类的函数、属性或事件可以有。

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

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:C#中抽象类和接口的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-abstract-class-vs-interface.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。