接口和类 两者之间的异同

不同点:
1、不能直接实例化接口。
2、接口不包含方法的实现。
3、接口可以多继承,类只能单继承。
4、类定义可在不同的源文件之间进行拆分。
 
相同点:
1、接口、类和结构都可以从多个接口继承。
2、接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
3、接口和类都可以包含事件、索引器、方法和属性。

接口和抽象区别主要有以下几点: 1. 方法实现:接口中的所有方法都是抽象的,只能定义方法而不能实现;而抽象可以定义抽象方法,也可以实现方法。 2. 继承和实现:抽象需要被子继承,而接口需要被实现。一个只能继承一个抽象,但可以实现多个接口。 3. 成员变量和方法:接口中的成员变量都是公共的静态常量,而抽象中的成员变量可以是普通变量。接口中的方法都是公共抽象的,而抽象可以有抽象方法也可以有普通方法。 4. 抽象方法和抽象:抽象方法只能声明而不能实现,而抽象可以有抽象方法也可以没有。 5. 实例化:抽象接口都不能直接实例化,需要通过子或实现来实例化。 综上所述,接口强调的是功能和能力,只能定义抽象方法和静态常量;而抽象强调的是所属关系,可以定义抽象方法和普通方法,也可以有成员变量。 #### 引用[.reference_title] - *1* [接口和抽象有什么区别](https://blog.csdn.net/weixin_33953384/article/details/91866798)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [接口与抽象区别](https://blog.csdn.net/Rowley123456/article/details/109020901)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [接口和抽象区别](https://blog.csdn.net/qq_58772217/article/details/121542021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值