C#中 abstract class和interface有什么区别?
abstract class abstract 声明抽象类抽象方法,一个类中有抽象方法,那么这个类就是抽象类了。所谓的抽象方法,就是不含主体(不提供实现方法),必须由继承者重写。因此,抽象类不可实例化,只能通过继承被子类重写。
interface 声明接口,只提供一些方法规约,在C#8之前的版本中不提供任何实现,在C#9版本也可以支持接口的实现;不能用public、abstract等修饰,无字段、常量,无构造函数
两者区别:
1.interface中不能有字段,而abstract class可以有; 2.interface中不能有public等修饰符,而abstract class 可以有。 3.interface 可以实现多继承
本文详细比较了C#中abstract class(抽象类)与interface(接口)的不同之处,包括不可实例化与多继承特性、字段和修饰符限制、以及接口在C#9后的实现方式。
8426

被折叠的 条评论
为什么被折叠?



