尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

TypeScript开发基础(14)——面向对象之接口

TypeScript开发基础(14)——面向对象之接口
📅 发布时间:2026/6/21 18:02:19

接口,它是对行为的抽象,而具体如何行动需要由子类去实现,接口的意义在于抽象,不拘细节,从而使同类事物在在同一高度具有通用性及可替代性。 接口的特性: 不可以被实例化 含有声明但未实现的方法 一个类可以继承多个接口 子类必须实现其声明未实现的方法 所有成员都是默认Public的,因此接口中不能有Private成员 子类必须实现接口的所有成员。

1. 定义接口

interface 接口名 [ extends 接口1, 接口2 …] {

[属性...] [抽象函数...]

}

2. 接口的使用

(1)作为一种特殊类型使用。

例:定义一个用户接口。

interface IUser{ id:number; username:string; password:string; } let user1:IUser={ id:1001, username:"admin", password:"admin" }

(2)方法接口

接口中定义一些抽象方法,用来描述类的行为或能力。相关类通过关键字implements声明要实现接口时,必须具体化接口中所有的抽象方法。

interface IFly { fly(): void; } interface ISwim { swim(): void; } class Bird implements IFly { public fly(): void { console.log("bird is flying"); } } class Fish implements ISwim { public swim(): void { console.log("fish is swimming"); } } class Duck implements IFly, ISwim { public fly(): void { console.log("duck is flying"); } public swim(): void { console.log("duck is swimming"); } } let bird:Bird = new Bird(); bird.fly(); let fish:Fish = new Fish(); fish.swim(); let duck:Duck = new Duck(); duck.fly(); duck.swim();

3. 接口的继承

接口可以相互继承,这意味着你可以从一个接口继承属性和方法。接口允许多继承 ,实现接口时,继承的所有方法都得实现。

interface IPoint{ x:number; y:number; } interface IPoint3D extends IPoint{ z:number; } interface ICal{ getBmj():number;//求表面积 getTj():number;//求体积 } interface IBox extends IPoint3D,ICal{ length:number; width:number; height:number; } let point3d:IPoint3D={ x:1, y:2, z:3 } let box:IBox={ x:10, y:20, z:30, length:20, width:30, height:40, //求表面积方法实现 getBmj(){ return (this.length*this.width +this.length*this.height +this.width*this.height)*2; }, //求体积方法实现 getTj(){ return this.length*this.width*this.height; } }; console.log(point3d); console.log(box); console.log(box.getBmj()); console.log(box.getTj());

相关新闻

  • 欧姆龙NJ控制程序:功能宝藏与编程思路的跨平台应用
  • 深度学习计算机毕设之基于机器学习的蘑菇毒性预测分析及应用实现
  • 【课程设计/毕业设计】基于机器学习的蘑菇毒性预测分析及应用实现

最新新闻

  • DeepSeek-V4-Flash:面向安全智能体的终端级推理框架
  • Maya glTF 2.0终极导出指南:从专业3D创作到Web 3D的无缝转换
  • 深入解析UE4SS:从架构原理到高级实践的完整指南
  • 2026长沙漏水检测维修本地口碑防水商家榜单:厨卫/阳台/屋面/地下室渗漏水维修,持证施工+明码实价,防水补漏公司TOP5推荐 - 即刻修防水
  • JMeter插件全攻略:WebSocket测试与五大效率神器安装实战
  • 026、四大接口对比:速度、距离、功耗、引脚数、应用场景全面分析

日新闻

  • 2026速览惠州叛逆青少年学校前十大排名名单出炉 - 武汉中职最新信息发布
  • 2026上饶白蚁消杀哪家好?15年本土2大权威白蚁防治公司推荐(金盾虫控/青蚁卫士) - 我叫一
  • 天龙八部单机版终极数据管理工具:5个技巧快速掌握游戏数据编辑

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号