开发者社区> 问答> 正文

抽象类和接口在设计层面上的区别是什么呢?

已解决

抽象类和接口在设计层面上的区别是什么呢?

展开
收起
游客4ztx2pti3xtdw 2022-04-03 18:17:59 862 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    设计层面上的区别: 抽象类作为很多子类的父类,它是一种模板式设计。而接口是一种行为规范,它是一种辐射式设计。就像是长辈和小孩子一样,相当于长辈是模板式设计,孩子就是行为规范。 什么是模板式设计?最简单例子,大家都用过ppt里面的模板,如果用模板A设计了ppt B和ppt C,ppt B和ppt C公共的部分就是模板A了,如果它们的公共部分需要改动,则只需要改动模板A就可以了,不需要重新对ppt B和ppt C进行改动。而辐射式设计,比如某个电梯都装了某种报警器,一旦要更新报警器,就必须全部更新。也就是说对于抽象类,如果需要添加新的方法,可以直接在抽象类中添加具体的实现,子类可以不进行变更;而对于接口则不行,如果接口进行了变更,则所有实现这个接口的类都必须进行相应的改动。

    2022-04-03 19:54:11
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
继承与功能组合 立即下载
为并行图数据处理提供高层抽象/语言 立即下载
典型业务逻辑漏洞挖掘 立即下载