问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

接口抽象类区别

发布网友 发布时间:2022-03-24 19:58

我来回答

1个回答

热心网友 时间:2022-03-24 21:27

区别一,两者表达的概念不一样。抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于“是”的关系;而接口是定义行为规范,因此对于实现接口的子类来说,相对于接口来说,是“行为需要按照接口来完成”。这些听起来有些虚,举个例子。例如,狗是对于所有狗类动物的统称,京哈是狗,牧羊犬是狗,那么狗的一般特性,都会在京哈,牧羊犬中找到,那么狗相对于京哈和牧羊犬来说,就属于这类事物的抽象类型;而对于“叫”这个动作来说,狗可以叫,鸟也可以叫。很明显,前者相当于所说的是抽象类,而后者指的就是接口。

  区别二,抽象类在定义类型方法的时候,可以给出方法的实现部分,也可以不给出;而对于接口来说,其中所定义的方法都不能给出实现部分。

  例如:

Code
 

  区别三,继承类对于两者所涉及方法的实现是不同的。继承类对于抽象类所定义的抽象方法,可以不用重写,也就是说,可以延用抽象类的方法;而对于接口类所定义的方法或者属性来说,在继承类中必须要给出相应的方法和属性实现。

  区别四,在抽象类中,新增一个方法的话,继承类中可以不用作任何处理;而对于接口来说,则需要修改继承类,提供新定义的方法。

 

  知道了两者的区别,再来说说,接口相对于抽象类的优势。

  好处一,接口不光可以作用于引用类型,也可以作用于值类型。而抽象类来说,只能作用于引用类型。

  好处二,.Net的类型继承只能是单继承的,也就是说一个类型只能继承一个类型,而可以继承多个接口。其实,我对于这一点也比较赞同,多继承会使继承树变的混乱。

  好处三,由于接口只是定义属性和方法,而与真正实现的类型没有太大的关系,因此接口可以被多个类型重用。相对于此,抽象类与继承类的关系更紧密些。

  好处四,通过接口,可以减少类型暴露的属性和方法,从而便于保护类型对象。当一个实现接口的类型,可能包含其他方法或者属性,但是方法返回的时候,可以返回接口对象,这样调用端,只能通过接口提供的方法或者属性,访问对象的相关元素,这样可以有效保护对象的其他元素。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 房产官司律师费多少 接口和抽象类的区别是什么? 抽象类与接口的区别简答 抽象类和接口的区别在哪里? 抽象类和接口的区别与联系 简述抽象类和接口的区别 接口和抽象类有什么区别? 接口和抽象类区别是什么? 接口和抽象类的区别是什么? 抽象类和接口有什么区别? “抽象类”和“接口”的区别是什么? 抽象类和接口的区别是什么? 华为mate3opro怎么没有分屏功能? 华为mate30pro怎样设置屏幕显示多个 华为mate30分屏功能 华为mate30epro如何调节分屏大小? 华为Mate30E pro,升级后就没有智慧分屏了,这个功能都没有了,怎么设置? 华为mate30pro为啥不能分屏 华为mate30epro怎么分屏 华为mate30pro可不可以边看电视边淘宝 分屏怎么设置 华为mate30pro 接口和抽象类的区别 什么是接口与抽象类有什么区别 java简述抽象类和接口的区别 抽象类和接口有什么区别 java中抽象类和接口的区别? 接口和抽象类的主要区别!!! 抽象类和接口的区别 如果忘记自己的电话号码,该怎么找回? 手机重置了,如何找回电话号码 手机电话号码怎么恢复 怎么把电话号码找回来 怎样找回手机号码密码 对方电话拉黑怎么破解 对方把我的手机号码加入黑名单应该怎么破解? 对方把你电话拉进黑名单怎么去破解? 关于手机号码被对方屏蔽怎样破解问题? 被对方拉黑电话怎样能破解 怎样破解对方把我手机号信息列入黑名单? 别人把你电话拉黑如何破解 电话被拉黑了怎么破解?