接口 抽象类

news/2024/10/3 15:57:59/

接口和抽象类都是用来实现面向对象编程中的抽象概念的工具。

接口是一种抽象的数据类型,它定义了一组抽象方法。接口中的方法没有具体的实现,只有方法的声明。类可以实现一个或多个接口,并实现接口中的方法。接口提供了一种规范,用于确保实现类具有特定的行为和功能。接口可以被看作是行为的抽象、行为的规范。

抽象类是一种特殊的类,它不能被实例化。抽象类可以包含抽象方法和具体方法。抽象方法只有声明,没有具体的实现,需要通过子类来实现。抽象类可以被子类继承并扩展,子类需要实现抽象类中的抽象方法。抽象类可以定义一些通用的方法和属性,以及一些行为的具体实现。

接口和抽象类的区别主要有以下几点:

  1. 接口只能包含抽象方法,而抽象类可以包含抽象方法和具体方法。
  2. 类可以实现多个接口,但是只能继承一个抽象类。
  3. 接口没有构造方法,而抽象类可以有构造方法。
  4. 接口中的方法默认是public的,而抽象类中的方法可以有不同的访问修饰符。
  5. 接口中的字段默认是public static final的,而抽象类中的字段可以有不同的访问修饰符。

在实际应用中,当需要定义一组行为规范时,可以使用接口。当需要定义一些通用的方法和属性,并提供一些行为的具体实现时,可以使用抽象类。


http://www.ppmy.cn/news/1533990.html

相关文章

C++平台跳跃游戏

目录 开头程序Game.cpp源文件Player.h头文件Player.cpp源文件 程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 Game.cpp源文件 #include <iostream> #include "Player.h" using namespace std; void printma…

NVLM多模态 LLM 在图像和语言任务中的表现优于 GPT-4o

论文地址&#xff1a;https://arxiv.org/pdf/2409.11402 背景 传统的多模态 LLM 有两种主要方法&#xff1a;纯解码器架构&#xff08;如 LLaVA&#xff09;和基于交叉注意力的架构&#xff08;如 Flamingo&#xff09;。混合架构&#xff0c;既提高了训练效率&#xff0c;又增…

RISC-V开发 linux下GCC编译自定义指令流程笔记

第一步&#xff1a;利用GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言 第二步&#xff1a;利用RSIC-V的中的.insn模板进行自定义指令的插入 第三步&#xff1a;RISC-V开发环境的搭建 C语言插入汇编 GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言语句方便了…

ansible 配置

目录 1.集群自动化维护工具 ansible 2.ansible管理架构 3.安装ansible 4.Iventory主机模式 5.通过ping验证 6.ansible常用模块 7.命令行模块 7.1command模块 7.2shell模块 7.3scripts模块 7.4file模块 7.5copy模块​ 7.6yum模块 1.集群自动化维护工具 ansibl…

Hive数仓操作(三)

一、Hive 数据库操作 1. 创建数据库 基本创建数据库命令&#xff1a; CREATE DATABASE bigdata;说明&#xff1a; 数据库会在 HDFS 中以目录的形式创建和保存&#xff0c;数据库名称会存储在 Hive 的元数据中。如果不指定目录&#xff0c;数据库将在 /user/hive/warehouse 下…

从原理到代码:如何通过 FGSM 生成对抗样本并进行攻击

从原理到代码&#xff1a;如何通过 FGSM 生成对抗样本并进行攻击 简介 在机器学习领域&#xff0c;深度神经网络的强大表现令人印象深刻&#xff0c;尤其是在图像分类等任务上。然而&#xff0c;随着对深度学习的深入研究&#xff0c;研究人员发现了神经网络的一个脆弱性&…

react 状态管理

Redux Redux是React中常用的状态管理组件&#xff0c;类似于Vue中的Pinia(Vuex)&#xff0c;可以独立于框架运行 作用&#xff1a; 通过集中管理的方式管理应用的状态 配套工具 在react中使用redux&#xff0c;官方要求按照两个插件&#xff0c;Redux Toolkit 和 react-red…

some 蓝桥杯题

12.反异或01串 - 蓝桥云课 (lanqiao.cn) #include "bits/stdc.h" #define int long long using namespace std; char c[10000000]; char s[10000000]; int cnt,Ans,mr,mid; int maxi; int p[10000000],pre[10000000]; signed main() {ios::sync_with_stdio(0);cin.t…