代码改变世界

C#中 abstract class和interface有什么区别?

  钟铧若岩  阅读(105)  评论(0编辑  收藏  举报

abstract class abstract 声明抽象类抽象方法,一个类中有抽象方法,那么这个类就是抽象类了。

所谓的抽象方法,就是不含主体(不提供实现方法),必须由继承者重写。因此,抽象类不可实例化,只能通过继承被子类重写。

interface 声明接口,只提供一些方法规约,在C#8之前的版本中不提供任何实现,在C#9版本也可以支持接口的实现;不能用publicabstract等修饰,无字段、常量,无构造函数


两者区别:
1.interface中不能有字段,而abstract class可以有;

2.interface中不能有public等修饰符,而abstract class 可以有。

3.interface 可以实现多继承

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示