上海行业门户网站建设工具,宝塔搭建本地网站,手机app模板免费下载,app网站开发哪里有最近团队在招人#xff1a;阿里新零售事业群CBU技术部招Java高级专家#xff0c;团队主要负责B2B工业品牌业务#xff0c;坐标杭州滨江#xff0c;有兴趣的小伙伴私戳我。
********************************************
以下是原文#xff1a;
本身的设计目的就是不…最近团队在招人阿里新零售事业群CBU技术部招Java高级专家团队主要负责B2B工业品牌业务坐标杭州滨江有兴趣的小伙伴私戳我。
********************************************
以下是原文
本身的设计目的就是不同的。
大家讲的都很详细了我说说我自己的一点浅薄的理解。
我一直认为工科的知识有个很明显的特点“以用为本”。在讨论接口和抽象类的区别时我也想从“用”的角度试着总结一下区别所以我想到了设计目的。
接口的设计目的是对类的行为进行约束更准确的说是一种“有”约束因为接口不能规定类不可以有什么行为也就是提供一种机制可以强制要求不同的类具有相同的行为。它只约束了行为的有无但不对如何实现行为进行限制。对“接口为何是约束”的理解我觉得配合泛型食用效果更佳。
而抽象类的设计目的是代码复用。当不同的类具有某些相同的行为(记为行为集合A)且其中一部分行为的实现方式一致时A的非真子集记为B可以让这些类都派生于一个抽象类。在这个抽象类中实现了B避免让所有的子类来实现B这就达到了代码复用的目的。而A减B的部分留给各个子类自己实现。正是因为A-B在这里没有实现所以抽象类不允许实例化出来否则当调用到A-B时无法执行。
第一次回答这类问题有错误之处望大家海涵并不吝指正