一尘不染

接口与抽象类[重复]

c#

在C#中,什么时候应该使用接口,什么时候应该使用抽象类?决定因素是什么?


阅读 260

收藏
2020-05-19

共1个答案

一尘不染

抽象类的优点是:

  • 能够指定方法的默认实现
  • 向函数添加了不变性检查
  • 对如何调用“接口”方法有更多的控制
  • 能够为“免费”提供与界面相关或无关的行为

接口只是数据传递合同,不具有这些功能。但是,它们通常更灵活,因为类型只能从一个类派生,但可以实现任何数量的接口。

2020-05-19