前端技术回顾系列 10|TS 泛型在类和接口中的应用

news2025/1/11 10:11:52

在微信中阅读,关注公众号:CodeFit

创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞分享关注 我的公众号:CodeFit,为我的持续创作提供动力。

上文回顾:约束泛型(Generic Constraints)

上一篇文章我们回顾了 泛型TypeScript 中的高级用法 —— 泛型约束

通过 extends 关键字,我们可以确保传入的类型具有 特定 的属性或方法。

这样可以提高代码的类型 安全性灵活性,使得 泛型 不仅可以是 任意 类型,还可以是某些 特定 属性或方法的类型。

泛型在类和接口中的应用

之前的 泛型 内容侧重于在 函数 中的使用。

本文会更多地看看 泛型接口 中的应用。

大纲

  1. 问题引入:队列的实现
  2. 使用泛型改进队列类
  3. 泛型在接口中的应用
  4. 定义泛型接口
  5. 泛型数组
  6. 总结

1. 问题引入:队列的实现

假设我们要通过 来实现一个 队列,这个类需要两个方法:

  • push 用于将元素加入队列。
  • pop 用于将元素从队列中移出。

队列 是一种 数据结构,特点是 先进先出

首先,我们来实现一个 没有 使用 泛型队列类

class Queue {
   
  private data: any[] = [];

  push(item: any): void {
   
    this.data.push(item);
  }

  pop(): any {
   
    return this.data.shift();
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1820329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么需要负样本

假如我们只有正样本,模型在最开始训练的时候都是错误的,随着模型的迭代,准确率逐渐从0到1,最终将所有的样本都判别成正样本,也就是都在线的上方。 但真实的场景中有正有负,例如我们要做一个猫狗分类器&…

anaconda安装pytorch-快速上手99%可以(可以虚拟环境OR不进行虚拟环境)

一、预备工作 先检查自己是否有anaconda 在cmd里面输入conda --version查看 二、在anaconda中创建虚拟环境 1.1 打开Anaconda Prompt 1.2 进行自定义安装python 将其中的自定义地址和版本换成自己想安装的地址和版本 我这里安装的地址是E:\Anaconda\DL,python版本是3.8.3…

Linux下的GPIO编程

目录 一、前言 二、sysfs方式 1、sysfs简介 2、基本目录结构 3、编号计算 4、sysfs方式控制GPIO 三、libgpiod库 1、libgpiod库简介 2、API函数 四、LED灯编程 一、前言 在Linux下,我们通常使用 sysfs 和 libgpiod库 两种方式进行控制GPIO,目前…

CP AUTOSAR标准中文文档链接索引(更新中)

AUTOSAR标准的核心组件包括通信、诊断、安全等,这些组件通过模块化结构进行组织。系统被划分为多个模块,每个模块负责特定的功能。模块之间通过接口进行通信,接口定义了模块之间的交互规则。AUTOSAR标准支持模块的配置,可以根据不…

影响数字本振信噪比的因素

2048 点 -66 4096 点-72 8192 点-77 16384 点-84

udp协议下的socket函数

目录 1.网络协议 2.网络字节序 3.socket编译接口 4.sockaddr结构体 5.模拟实现 1.socket函数 2.bind函数&#xff08;绑定&#xff09; 1.讲解 1.如何快速的将 整数ip<->字符串 2.ip地址的注意事项 3.端口号的注意事项 3.recvfrom函数 4.sendto函数 5.代码呈…

yolov5-7.0更改resnet主干网络

参考链接 ClearML教程:https://blog.csdn.net/qq_40243750/article/details/126445671 b站教学视频&#xff1a;https://www.bilibili.com/video/BV1Mx4y1A7jy/spm_id_from333.788&vd_sourceb52b79abfe565901e6969da2a1191407 开始 github地址:https://github.com/z106…

系统架构设计师【补充知识】: 应用数学 (核心总结)

一、 图论之最小生成树 (1)定义: 在连通的带权图的所有生成树中&#xff0c;权值和最小的那棵生成树(包含图中所有顶点的树)&#xff0c;称作最小生成树。 (2)针对问题: 带权图的最短路径问题。 (3)最小生成树的解法有普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法&#xff0c;我…

liquibase做数据库版本管理

通过这个配置就会自动启动liquibase 比对 https://www.cnblogs.com/ludangxin/p/16676701.html https://zhuyizhuo.github.io/2020/07/04/spring-boot/spring-boot-liquibase-database-version-control/

通过语言大模型来学习tensorflow框架训练模型(三)

一、模型训练5步骤走 1.数据获取&#xff0c;2&#xff0c;数据处理&#xff0c;3.模型创建与训练&#xff0c;4 模型测试与评估&#xff0c;5.模型预测 二、tensorflow数据获取 在TensorFlow中&#xff0c;数据获取和预处理是构建深度学习模型的重要步骤。TensorFlow提供了多…

wireshark抓包ssl数据出现ignored unknown record的原因

文章目录 前言一、出现原因二、wireshark抓包分析Ignored Unknown RecordTCP segment of a reassembled PDU 总结 前言 使用下面这个例子来观察记录层数据大于TCP MSS时用wireshark抓包出现ignored unknown record的情况并分析原因。 c语言利用openssl实现简单客户端和服务端&…

无公网IP与服务器完成企业微信网页应用开发远程调试详细流程

文章目录 前言1. Windows安装Cpolar2. 创建Cpolar域名3. 创建企业微信应用4. 定义回调本地接口5. 回调和可信域名接口校验6. 设置固定Cpolar域名7. 使用固定域名校验 前言 本文主要介绍如何在企业微信开发者中心通过使用内网穿透工具提供的公网域名成功验证回调本地接口服务! …

SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件

SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件 H2 是一个用 Java 开发的嵌入式数据库&#xff0c;它的主要特性使其成为嵌入式应用程序的理想选择。H2 仅是一个类库&#xff0c;可以直接嵌入到应用项目中&#xff0c;而无需独立安装客户端和服务器端。 常用开源数…

【因果推断python】31_合成控制1

目录 一个了解无从知晓事情的超酷数学技巧 我们有时间 一个了解无从知晓事情的超酷数学技巧 当我们审视双重差分法时&#xff0c;我们有来自 2 个不同城市的多个客户的数据&#xff1a;阿雷格里港和弗洛里亚诺波利斯。数据跨越 2 个不同的时间段&#xff1a;在阿雷格里港进行…

smart_rtmpd 的后台管理

高效的流媒体服务器 smart_rtmpd&#xff0c;您值得拥有 smart_rtmpd 的下载地址 https://github.com/superconvert/smart_rtmpd smart_rtmpd 的管理后台 https://github.com/superconvert/smart_rtmpd/edit/master/web%20manager/src/README.md web 管理后台说明 web 管理…

如何开发一个直播APP:功能介绍与开发步骤详解

随着移动互联网的迅猛发展&#xff0c;直播APP已经成为人们生活中不可或缺的一部分。无论是娱乐、教育、商业还是其他领域&#xff0c;直播APP都以其独特的实时互动性和广泛的受众群体而备受欢迎。那么&#xff0c;如何开发一个直播APP呢&#xff1f;本文将详细介绍直播APP的功…

视频监控汇聚平台:接入不同品牌的监控视频,同时把所有的监控视频接到不同的上级视频监控平台(第三方平台)

目录 一、需求描述 &#xff08;一&#xff09;总体描述 &#xff08;二&#xff09;前端接入 &#xff08;三&#xff09;向上级联 二、需求分析 &#xff08;一&#xff09;接入所有不同品牌、不同型号的监控视频 1、确认各品牌摄像头的接口类型和协议 2、选择合适的…

【Linux】易错点——/etc/passwd ; /etc/shadow;ifconfig;route;chmod;ps;mv

/etc/passwd ; /etc/shadow /etc/passwd&#xff1a; 用户账户的详细信息在此文件中更新。 用户名&#xff1a;密码&#xff1a;用户 ID&#xff1a;群组 ID&#xff1a;用户 ID 信息&#xff1a;用户的家目录&#xff1a; Shell /etc/shadow&#xff1a; 用户账户密码在此文…

VRRP跟踪接口及认证(华为)

#交换设备 VRRP跟踪接口及认证 一、相关概念 1.VRRP跟踪接口 当 VRRP 的 Master 设备的上行接口出现问题, 而 Master 设备一直保持 Active 状态&#xff0c;那么就会导致网络出现中断&#xff0c;所以必须要使得 VRRP 的运行状态和上行接口能够关联。在配置了 VRRP 元余的网…

Web应用安全测试-爆破猜解

Web应用安全测试-爆破猜解 邮件内容中请求链接可预测 漏洞描述&#xff1a;邮件中的重置密码等链接可预测&#xff0c;导致链接可以直接被猜解访问。 测试方法&#xff1a; 先按照正常流程重置密码&#xff0c;接收重置密码邮件&#xff0c;分析重置链接的构造。通常情况下…