• 接口和抽象类的区别


    一.接口和抽象类的概念:

    1.接口抽象类不同点:

       接口:包含了一组虚方法的抽象类型

         接口的特点:

      1. 接口中只包括虚方法的定义,只有声明定义,没有函数实现                (抽象类可以有实现
      2. 接口类中可以包括属性、事件、索引器等,但不能包括字段                (抽象类可以有字段
      3. 接口类属于多继承                                                                              (抽象类单继承,符合类的特点)
      4. 接口可以支持回调                                                                    (抽象类不支持回调)
      5. 继承了接口的类必须全部实现接口的方法

         抽象类:提供了一组派生类访问共享基类的公共方法

         抽象类的特点:

      1. 抽象类不能被实例化,也不能被密封
      2. 抽象类中的方法,在派生类中要有实现,没有实现的话,这个类就得是抽象类,在由这个类的派生类实现,方法得标记为抽象方法
      3. 派生类中实现 基类的抽象方法,必须使用override 修饰符

    2.接口抽象类相同之处

    • 不能实例化,由派生类来实现
    • 都需要子类实现父类的方法

    主要的一些差别:

    接口介绍:

    简单来说:接口就是一个实现方法的名称,具体的实现还是在于实现这个接口的类!

    举个例子来说吧:

    小动物们元宵喜乐会,大家show各自的才艺的时候到了。

        本命年的孙悟空孙大圣,他带来的节目是《大圣归来2——看我72变》;

               特地从任意门赶来的小叮当,带来的节目是《口袋魔术》;

               没有睡懒觉,从高老庄坐高铁早早来到的猪八戒,带来的节目是《猪猪侠的36计》。

    这些拥有魔法可以变东西,技高一筹的动物们,掌握的可不止是普通动物“叫声”的技能了,普通动物是没有办法具备他们三只的特异功能的,也只有它们三只拥有变东西的方法,这些特定的方法封装成为一个集合,就是我们要了解的接口(interface)了。

    这些技高一筹的动物虽然变出的东西不同,但是他们有一个共同的变出东西的方法,把变出东西的名称提取出来就是接口了! 

    特点:

    1. 接口中的所有方法必须是抽象的;
    2. 不能指定访问修饰符
    3. 接口中不能包含字段
    4. 可以实现多个接口!

    抽象类介绍:

    抽象类就是对事物的一种抽象:

        举个例子:

          动物就是一个抽象类:动物共同特点:“叫声”

          猫属于动物,就可以发出叫声!

          狗也属于动物也可以发出叫声!

          问题:我们知道动物是可以发出叫声的,具体让动物叫,动物应该发出什么叫声呢?动物众多小动物的总称,是个抽象的东西。所以抽象类都有个具体的实现类!让一个动物叫,如果这个动物是猫就发出猫的叫声,如果这个动物是狗,就发出狗的叫声!

       因为类是单继承,所以创建动物对象时,这个动物只能是一个动物,要么是猫,要么是狗!

       所以让动物发出叫声,是猫实现的这个抽象类,就发出猫的叫声,是狗实现的这个抽象类就发出狗的叫声!

    特点:

    1. 抽象类中可以有方法的实现,
    2. 可以有访问修饰符
    3. 只能单继承

    下面通过实际的例子进行分析:

    抽象类:

    接口:

  • 相关阅读:
    保存windows 10的登录界面壁纸
    Python 从剪贴板中生成二维码
    SpringBoot
    IDEA8条配置
    Nodejs-hexoBlog
    Mybatis-Plus
    Javaweb文件上传
    GIt基本语法
    JS常用部分整合
    javaweb-maven学习总结
  • 原文地址:https://www.cnblogs.com/fengxuehuanlin/p/4549409.html
Copyright © 2020-2023  润新知