C#中接口和抽象类的区别是什么?


接口定义属性、方法和事件,这些都是接口的成员。接口只包含成员的声明。派生类负责定义这些成员。

抽象类在某种程度上也实现了同样的目的,但是它们主要用于基类只需要声明少量方法,而派生类实现其功能的情况。

以下是一些区别:

  • 一个类可以继承多个接口,而一个类只能继承一个抽象类。

  • 不能使用抽象类实现多重继承,而使用接口可以实现多重继承。

  • 接口中不能定义字段,而抽象类中可以定义字段。

  • 接口没有 public、private、protected、internal 等访问修饰符,因为在接口中所有内容默认都是 public 的。

更新于:2020年6月22日

477 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告