首页 > 其他分享 >抽象类 & 接口比较

抽象类 & 接口比较

时间:2024-11-17 17:46:12浏览次数:1  
标签:一个 重写 接口 抽象 抽象类 方法 比较

抽象类概述:
1.该类的概念是抽象的,如形状,生物这些概念,无法实例化一个对象,所以抽象类是不允许创建对象的;

2.对于这种类,这里面的大多数方法如果不通过继承的方式对类里面的方法进行重写的话,是无法执行的,比如一个形状类,既然有形状,就因该有显示名字方法,计算面积方法,在一些特定的坐标系上还应该具有画出该形状的方法,但是这些无法实现;再比如对生物而言,有叫,吃东西,爬行,作息等方法,对生物这么一个抽象类,调用叫的方法的时候发出什么声音?所以抽象类不允许创建实力对象,因为即使创建了,他的方法也是无法执行的;

抽象方法与特殊方法区别
3.第二点介绍了抽象类里面的有些方法有其特殊性,这种特殊方法叫做抽象方法,那么剩下的我们就叫普通方法。如何理解?我们假设牛这个类继承了生物类,那么生物有出生时间,我们可以在生物类里面进行这个方法的定义,创建牛这个类的对象的时候就直接给出出生日期,调用父类的记录出生日期的方法就行了,这种方法到任何一个子类当中,都可以不用被重写就能够直接使用,那么我们将这种方法为普通方法。但是对于牛叫声等方法直接调用父类中生物的叫声方法是无法执行的,我们就把这种方法叫做抽象方法。

只要含有抽象方法的类,都叫做抽象类,很明显通过上面的介绍,抽象类既可以包含抽象方法,也可以包含普通方法。

书写格式
public abstract class 类名
只要这个类里面有抽象方法,就需要在class前面加上abstract关键字

抽象类继承说明
只要注明的是抽象类加上的abstract关键字,那么它就是一个抽象类。需要注意的一点是,在一个抽象类中可能有零个或者多个抽象方法,特别要注意的是,当抽象方法的个数为零的时候,只要标明的这个类是抽象类,那么这个类依然是一个抽象类。
如果一个类是抽象类的子类,那么这个类有可能是抽象类,也有可能不是抽象类,对此,我们应该如何进行一个区分呢?如果这个类完成了对它所继承的抽象类中所有的抽象方法的重写,那么这个类它就不再是一个抽象类了,如果没有完成所有的抽象方法的重写,这个子类依然属于抽象类的范畴。

接口

下面我们来介绍接口,接口和抽象类之间有很大的相似性。
1.首先接口的关键字是 interface,和抽象类的class有区别。
2.在我们刚刚介绍的抽象类里面,抽象类既可以包含普通方法,也可以包含抽象方法,但是接口中只能含有抽象方法,而且所有的方法都是public属性的。
从一个父类到一个子类的关系,我们把它叫做继承,如果一个接口和一个内相连接,我们称之为这个类,对这个接口进行了实现,关键词是implement。

这是一个接口

这是一个接口的实现
从图片给出的示例来看,其语法格式和类的继承有一些相似,但是接口是可以有多个实现的,这和类只能进行单继承有所区别。
和抽象类一样,接口里面的方法都必须被重写。

应用
由于一个类可以实现对多个接口的实现,所以接口有时候也被用来解决多继承。
另外接口有时候还被用于做一个统一的标准,比如要做一个学生信息系统,如果把这个系统中的不同功能分给不同的人来做,没有一个强制化的标准,组合在一起的时候就会千奇百怪,那么我们可以给出一个学生接口,学生接口中所有的方法都需要被重写,那么不同人在实现这个学生系统的时候,就能够做到一个标准的统一。

最后接口也是不能被实例化的。

标签:一个,重写,接口,抽象,抽象类,方法,比较
From: https://www.cnblogs.com/Elisabethearth/p/18550817

相关文章

  • 行驶证 OCR 识别 API 接口用PHP如何调用
    行驶证OCR识别接口是一种极为强大的工具。其强大之处在于,当用户传入行驶证照片后,它能够以令人惊叹的速度和极高的准确性,快速准确地识别出行驶证上的所有文字信息。识别完成后,它会将这些文字信息以高度结构化的形式进行返回。以下是行驶证OCR识别API接口用PHP如何调用的......
  • 行驶证 OCR 识别 API 接口用C#如何调用
    具体来说,行驶证OCR识别接口具备强大的功能,可以准确识别包括所有人、品牌型号、住址、车牌号、发动机号码、车辆识别代号、注册日期、发证日期等多个至关重要的字段信息。在实际应用中,该接口通过对行驶证照片进行全面而深入的智能分析,能够极为精准地提取出上述的这些信息。并......
  • 评论模块接口文档
    一、新增评论1、基本信息:请求路径:/comment请求方式:PUT接口描述:该接口用于用户对商家进行评论2、请求参数:请求参数格式:application/x-www-form-urlencoded参数名称说明类型是否必须备注store_id商家IDnumber是commentary评论内容String是3、请......
  • npm | Yarn | pnpm Node.js包管理器比较与安装
    一、包管理器比较参考原文链接:2024Node.jsPackageManager指南:npm、Yarn、pnpm比较—2024Node.jsPackageManagerGuide:npm,Yarn,pnpmCompared(nodesource.com)以下是对Node.js的三个包管理工具npm、Yarn和pnpm的优缺点总结:npm(NodePackageManag......
  • 在后端开发中,如何设计RESTful API接口?
    在后端开发中,设计RESTfulAPI接口是一个关键步骤,它直接影响到应用程序的可维护性、可扩展性和用户体验。以下是设计RESTfulAPI接口的详细指南:1.设计API端点RESTfulAPI的端点通常基于资源名称,并使用HTTP方法来表示对资源的操作。例如:获取所有用户:GET/users获取单个用户:GE......
  • 接口文档判断返回 List 还是 Array
    在Java编程语言中,List是一种集合接口,它可以用来存储一组有序的元素,并且允许存在重复的元素。而Array(数组)是一种固定长度的数据结构,一旦创建后其长度不可改变。尽管它们之间有一些相似之处,但在处理JSON数据时,我们通常使用List来表示JSON数组,因为List更灵活,可以动态......
  • Python 接口自动化Jsonpath 应用及断言
    jsonpath的应用:首先我们要知道,使用jsonpath之前我们要有一个对应的数据去进行对应的操作,比如我们工作中会得到的响应数据,基于我们的响应数据我们要对应的提取比如tokenmsg.....所以我们就会用到它jsonpath。那在Python中我们需要先按转第三方包安装命令pipinsta......
  • 商品模块接口文档
    一、商品添加1、基本信息:请求路径:/product请求方式:POST接口描述:该接口用于商家添加商品于仓库中2、请求参数:请求参数格式:applocation/json参数名称说明类型是否必须备注product_name商品名称String是description商品描述String是product_pic......
  • 股票历史分时交易数据API接口以及股票实时交易数据API接口大全可直接点击验证测试
    近年来,股票量化分析的热度不断攀升。若要涉足此领域,首要任务是掌握全面的股票数据资源。毕竟,量化分析的基石便是数据,无论是实时交易信息、历史交易记录,还是财务数据、基本面资料,均不可或缺。我们的核心目标,便是从这些海量数据中提炼出有价值的信息,以指引我们的投资决策。在......
  • 接口测试JMeter使用教程 (三)---接口关联
    我们在测试过程中一定会有这种情况,上一个接口要抓取数据传给下一个接口,也就是上一个接口的相应数据做为下一个接口的请求数据那我们来做这样一个登录然后加入购物车,先捋一下思路。1、登录----token(鉴权)2、加入购物车(把token带过去)那我们先登录后看返回的数据后置处理器......