• 面试刷题13:接口和抽象类有啥区别?


    image.png




       掌握面向对象的原则可以提高开发,沟通的效率和质量。


       我是李福春,我在准备面试,今天的问题是:

       接口和抽象类有什么区别?


    接口和抽象类是面向对象语言的重要设计元素。

    区别如下:

    file



    下面扩展一下,面试官可能延伸的问题。






    面向对象的特性



    封装: 一切皆对象,对象具备成员和方法,封装了内部细节,使得具备边界,提高程序的安全性和简洁性;

    继承:代码复用的手段,是一种强耦合关系,但是只能单继承,应该避免过度使用继承

    多态:通过抽象类和接口都可以实现多态,在不同的实现类或者子类中,行文定义有不同的实现形态。


    重写和重载


    重写是方法签名一致


    重载是方法名称一致,返回值一致,而参数列表不一致。




    SOLID设计模式原则



    在做软件研发的过程中,如何写出高质量的代码,借鉴设计模式的几个原则作为检查依据很有必要。


    S: Single 单一职责  ,类中做的事情单一
    O: Open close 开闭原则 ,对扩展开放,对修改关闭
    L: lis 里斯替换 , 接口实现类或者子类可以上转型为  接口和抽象类
    I: Interface 接口隔离  接口要按照使用场景分开,避免耦合
    D: Dependency  依赖倒转 , 应该依赖接口或者抽象类编程,而不是具体的实现,可以提高程序的扩展性



    小结


    本篇回答了接口和抽象类的区别,实际上这是面向对象设计的重要元素。理解区别,在实际编程工作中使用,就是面向对象原则的灵活应用。


    然后回顾了这两货后面的基础知识,面对对象的原则(3大原则),设计模式的基本原则 SOLID 。




    汇总一下如下图:






    image.png

    原创不易,转载请注明出处。

  • 相关阅读:
    JAVA-初步认识-第三章-语句-switch
    JAVA-初步认识-第三章-if语句练习-星期和季节
    第三章-数据类型(3.3)
    JAVA-初步认识-第三章-局部代码块
    JAVA-初步认识-第三章-语句-if格式3
    JAVA-初步认识-第三章-语句-if格式1的演示
    JAVA-初步认识-第三章-语句-if格式2
    微信小程序图片使用示例
    推荐一款稳定快速免费的前端开源项目 CDN 加速服务
    基于mpvue的小程序项目搭建的步骤
  • 原文地址:https://www.cnblogs.com/snidget/p/12573589.html
Copyright © 2020-2023  润新知