谈谈抽象类与接口的区别 完美回答

抽象层次不同 
抽象类是对类抽象,而接口是对行为的抽象
抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部行为进行抽象
跨域不同 
抽象类所跨域的是具有相似特点的类,而接口却可以跨域不同的类
抽象类所体现的是一种继承关系,考虑的是子类与父类本质“是不是”同一类的关系
而接口并不要求实现的类与接口是同一本质,它们之间只存在“有没有这个能力”的关系
设计层次不同 
抽象类是自下而上来设计的,要先知道子类才能抽象出父类
接口则是自上向下来设计的,不需要知道子类的存在,只需要定义一个规则即可
日常使用上的不同
抽象类主要的作用是代码重用
接口更多的则是API定义和实现分离,实现解耦的目的,定义行为和规范

参考链接:

面试常客:谈谈你对抽象类和接口的理解 - 掘金(设计层次上写的有问题,参考下面链接)

https://www.cnblogs.com/pengpenghuhu/p/15679194.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值