把接口(Interface)想成一份“说明书”或“合同书”。

  1. 说明书
    比如电饭煲的说明书告诉你:

    • 必须有“煮饭”按钮
    • 必须有“保温”功能
    • 颜色可以是白、黑、红

    接口在 TypeScript 里干的就是同样的事:它规定一个对象“长什么样”。

    interface RiceCooker {cook(): void;   // 必须有 cook 方法keepWarm(): void; // 必须有 keepWarm 方法color: 'white' | 'black' | 'red'; // 颜色只能是这三个值
    }
    
  2. 合同书
    任何电饭煲只要“签了这份合同”(实现了这个接口),就必须按上面的要求来。
    如果少了按钮、颜色写错,TypeScript 就会像质检员一样立刻报错。

    const myCooker: RiceCooker = {cook() { console.log('开始煮饭'); },keepWarm() { console.log('保温中'); },color: 'blue' // ❌ 报错:颜色只能是 white/black/red
    };
    

implements 就是“签字画押”的动作。

  1. 你把接口当成一份合同(规定好必须有哪些属性、方法)。
  2. class 类名 implements 接口名,就相当于这个类“签字”:
    “我保证按合同办事,缺啥补啥,不按要求就报错。”

举个通俗例子:

interface 会飞的 {起飞(): void;降落(): void;
}class 飞机 implements 会飞的 {起飞() {console.log('飞机起飞');}降落() {console.log('飞机降落');}
}
  • 如果 飞机 少写了 起飞降落,TypeScript 立刻提醒:
    “你没履行合同!”

总结一句话:
implements 让类“承诺”自己符合某个接口的形状;不符合就编译报错,保证代码可靠。

接口就是“告诉你对象应该有哪些零件、长什么样”,帮助 TypeScript 帮你检查对错,防止拼错名、传错值。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python本源诗话(我DeepSeek)

物理折行新注释,直抒胸臆吾志名。 笔记模板由python脚本于2025-08-23 13:14:28创建,本篇笔记适合喜欢python和诗的coder翻阅。 学习的细节是欢悦的历程 博客的核心价值:在于输出思考与经验,而不仅仅是知识的简单复述。 Python官网…

博士招生 | 美国圣地亚哥州立大学 Yifan Zhang 课题组博士招生,AI 安全领域顶尖平台等你加入!

内容源自“图灵学术博研社”gongzhonghao学校简介圣地亚哥州立大学(San Diego State University, SDSU)是美国加州南部久负盛名的公立研究型大学。学校坐落于科技产业高度活跃的南加州地区,与本地软件、电信、生物科技、国防及清洁能源等领域…

Day22: Python涡轮增压计划:用C扩展榨干最后一丝性能!

目录🔥 第一章:初识外挂 - ctypes初体验1.1 C语言涡轮引擎1.2 Python调用秘籍⚡ 第二章:Cython核弹级加速2.1 给Python穿上防弹衣2.2 编译倒计时2.3 起飞测试🏎️ 第三章:终极速度对决3.1 赛前准备3.2 比赛结果&#x…

如何修复“DNS服务器未响应”错误

“DNS服务器未响应”是一种常见的网络错误,当设备无法与域名系统(DNS)服务器通信以将域名转换为IP地址时,就会出现这种错误。DNS服务器的作用是将域名转换为IP地址(例如,将www.example.com转换为192.168.1.…

数据结构与算法-算法-三数之和

题目: 15. 三数之和 - 力扣(LeetCode)15. 三数之和 - 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所…

ASCOMP PDF Conversa:高效精准的PDF转换工具

在日常工作和学习中,PDF文件因其格式稳定、兼容性强而被广泛使用。然而,PDF文件的编辑性较差,常常需要将其转换为可编辑的格式,如Word文档。ASCOMP PDF Conversa作为一款功能强大的PDF转换工具,能够将PDF文件转换成可编…

JAVA核心基础篇-集合

想要了解集合,首先要知道一个东西,叫数据结构。所谓数据结构,其实就是计算机存储,组织数据的方式。常用的数据结构有8大类数组,链表,树,堆,栈,队列,哈希表&am…

大模型——深度评测智能体平台Coze Studio

深度评测智能体平台Coze Studio 7 月底字节跳动的 Coze-Studio 正式开源,算是 AI 智能体领域的一个大事件。这个月终于有时间在内网环境进行了部署和评测,希望能为团队的企业知识库和 AI 应用建设提供多一个选项。 其实,我们厂的知识库系统一直是自研的。没有直接采用市面…

UE5打包,LoadObject加载不出网格|动画

由于笔者UE5加载模型和动画使用的动态加载(LoadObject),而这些资源(XX001、XX002 等)没有被任何关卡或蓝图直接引用,在编辑器状态下是可以正常加载的,但它们在打包时被当作“无用”资源而排除了…

C 语言标准输入输出头文件stdio.h及其常见用法

在这篇文章中,我们来详细聊一聊 C 语言标准输入输出头文件 stdio.h 及其常见用法。1. stdio.h 是什么 stdio.h(Standard Input and Output Header)是 C 标准库中的一个头文件,提供了处理标准输入输出和一些文件操作的函数声明。 它…

Js逆向 拼夕夕anti_content

前言 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经…

大模型时代为什么需要向量数据库?

这里写自定义目录标题1. 向量数据库2. 向量嵌入3. 特征和向量4. 相似性测量4.1 欧几里得距离4.2 余弦相似度5. 相似性搜索5.1 K-Means5.2 基于文本嵌入进行意图匹配6. 问答助手7. 意图匹配1. 向量数据库 向量数据库(Vector Database),也叫矢…

【Canvas与旗帜】二十角金盘德国旗

【成图】【代码】<!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>多角金盘德国旗 Draft1</title><style type"text/css&qu…

Linux软件编程:总结

一、Linux系统概述&#xff08;一&#xff09;Linux系统概述&#xff08;二&#xff09;Linux系统简介1.常见的Linux系统&#xff1f;2.Linux操作系统是操作系统的核心&#xff0c;也成为内核&#xff0c;内核的主要功能&#xff1f;3.shell是操作系统的外壳&#xff0c;主要作…

【51单片机学习】直流电机驱动(PWM)、AD/DA、红外遥控(外部中断)

一、直流电机驱动&#xff08;PWM&#xff09;1.直流电机介绍步进电机的旋转速度完全由编码的通电时间决定的&#xff0c;可以用于精密控制。 舵机内部是一个直流电机加一个控制器&#xff0c;引出三根线&#xff0c;分别是正负极和编码线&#xff0c;根据输出电平的时间来控制…

ComfyUI Portrait Master肖像大师中文版

本文转载自&#xff1a;ComfyUI Portrait Master肖像大师中文版 - Hello123工具导航 ** 一、产品定位与技术架构 肖像大师中文版是专为 AI 绘画工具设计的提示词生成插件&#xff0c;通过结构化参数控制实现精准人物肖像生成。它基于 ComfyUI 平台开发&#xff0c;提供 193 国…

(Redis)内存淘汰策略

1. 为什么需要内存淘汰策略&#xff1f;Redis 是一个基于内存的高性能数据库&#xff0c;所有数据都存储在内存中。优点&#xff1a;读写速度极快。缺点&#xff1a;内存有限&#xff0c;存满之后如果继续写入&#xff0c;就必须有一套策略来决定“删掉谁&#xff0c;留下谁”。…

Eclipse 里Mybatis的xml的头部报错

需要进行Eclipse 配置 MyBatis 的DTD文件Window -> Preference -> Maven -> 勾选 (download artifact javadoc).

SpringBoot Web快速入门_从零搭建你的第一个Web应用

在 Java 企业级开发领域&#xff0c;SpringBoot 以其 “约定优于配置” 的理念彻底革新了传统 Spring 应用的开发模式。根据 2023 年 JetBrains 开发者调查报告&#xff0c;超 65% 的 Java 开发者将 SpringBoot 选为 Web 开发的首选框架。其优势显著&#xff1a;快速启动&#…

手持 Mid360 + RealSense 相机 + Jetson Orin 一体平台

这篇博客是我们开源的一个项目介绍&#xff0c;包括3D结构件 STP 文件与常见 SLAM 工程在 Arm 设备上编译手册等&#xff0c;将 Livox Mid360、Realsense 相机、Nvidia Jetson Orin、定制电池放在了一个手持设备上&#xff0c;同时这个手持设备预留了底部螺纹孔&#xff0c;当你…