打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C# 接口与抽象类的区别? 什么情景下使用接口,什么情景下使用抽象类?

接口与抽象类的区别:

接口支持多继承;抽象类不能实现多继承。

接口可以用于支持回调;抽象类不能实现回调,因为继承不支持

接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法

接口可以作用于值类型和引用类型;抽象类只能作用于引用类型

 

 

什么情景下使用接口,什么情景下使用抽象类?

抽象类:

定义了一组接口,但又不想强迫每个实现类都必须实现所有的接口。可以用abstract class定义一组方法体,甚至可以是空方法体,然后由子类选择自己所感兴趣的方法来覆盖。

某些场合下,只靠纯粹的接口不能满足类与类之间的协调,还必需类中表示状态的变量来区别不同的关系。abstract的中介作用可以很好地满足这一点。

规范了一组相互协调的方法,其中一些方法是共同的,与状态无关的,可以共享的,无需子类分别实现;而另一些方法却需要各个子类根据自己特定的状态来实现特定的功能

 

接口:

类与类之前需要特定的接口进行协调,而不在乎其如何实现。

作为能够实现特定功能的标识存在,也可以是什么接口方法都没有的纯粹标识。

需要将一组类视为单一的类,而调用者只通过接口来与这组类发生联系。

需要实现特定的多项功能,而这些功能之间可能完全没有任何联系。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
抽象类和接口的区别
接口与抽象类的异同
extends和implements区别
监听回掉的实现
接口的使用
C#类和接口、虚方法和抽象方法及值类型和引用类型的区别_I love Haley Joel...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服