extends

在 TypeScript 中,extends 关键字用于接口继承,表示一个接口可以继承另一个接口的属性和方法。

📌 代码解析

typescript

复制代码
interface FlatTableData extends buildingManagementListType {
  _floorId: string;
  _unitIndex: number;
  _floorUnitCount: number;
}

这行代码的意思是:

  • FlatTableData 接口继承了 buildingManagementListType 接口的所有属性

  • 同时添加了三个新的属性 :_floorId、_unitIndex、_floorUnitCount

🔍 三种理解方式

1. 集合论角度(最直观)

typescript

复制代码
// 可以理解为属性的并集
type FlatTableData = buildingManagementListType & {
  _floorId: string;
  _unitIndex: number;
  _floorUnitCount: number;
}
2. 面向对象角度

typescript

复制代码
// 类似于类的继承
class buildingManagementListType {
  buildingId: string;
  buildingName: string;
  // ...
}

class FlatTableData extends buildingManagementListType {
  _floorId: string;
  _unitIndex: number;
  _floorUnitCount: number;
}

🎨 多层继承

typescript

复制代码
// 可以有多层继承
interface BaseBuilding {
  buildingId: string;
}

interface buildingManagementListType extends BaseBuilding {
  buildingName: string;
  address: string;
}

interface FlatTableData extends buildingManagementListType {
  _floorId: string;
  _unitIndex: number;
  _floorUnitCount: number;
}

⚠️ 注意事项

1. 不能覆盖(重写)属性类型
2. 可选属性的继承
3. 多个接口继承

📝 总结

extends 在 TypeScript 接口中的含义:

  1. 继承:子接口获得父接口的所有属性

  2. 扩展:可以在继承的基础上添加新属性

  3. 兼容:子接口类型的对象可以赋值给父接口类型

  4. 约束:父接口的属性类型约束也会被子接口继承

相关推荐
Joy T3 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
m0_587383006 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·7 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
专注仿真7 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes7 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停7 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金9 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
爱上网的小舟9 小时前
星际战士2启动错误怎么办?5种游戏报错解决方法
开发语言·php
paopaokaka_luck10 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
阿里嘎多学长10 小时前
2026-10-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管