news 2026/3/5 15:12:45

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TypeScript开发基础(14)——面向对象之接口

接口,它是对行为的抽象,而具体如何行动需要由子类去实现,接口的意义在于抽象,不拘细节,从而使同类事物在在同一高度具有通用性及可替代性。 接口的特性: 不可以被实例化 含有声明但未实现的方法 一个类可以继承多个接口 子类必须实现其声明未实现的方法 所有成员都是默认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());
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/5 14:25:43

2026马年新岁:拥抱智能时代,共谱科技华章

目录 1. 引言 2. 智能时代的基石:人工智能、大数据与云计算的融合演进 2.1 人工智能:从感知智能到认知智能的飞跃 2.1.1 多模态融合:打破感官界限 2.1.2 可解释AI(XAI):信任与透明的桥梁 2.1.3 具身智…

作者头像 李华
网站建设 2026/3/2 22:10:15

三菱FX系列PLC温度PID控制程序大揭秘

三菱FX系列PLC温度PID控制程序(含注释和IO图、三菱触摸屏程序),程序已经应用于设备上,成熟可靠,有程序注释,触摸屏有注释值得参考和借鉴.在自动化控制领域,温度控制是非常常见且关键的一环。今天…

作者头像 李华
网站建设 2026/3/5 11:31:33

永磁同步电机自抗扰控制ADRC的转速稳定

永磁同步电机自抗扰控制ADRC,转速稳定永磁同步电机转速环突然加载时,传统的PI控制就像新手司机猛踩刹车——转速波动大且恢复慢。这时候就得掏出ADRC这把瑞士军刀了,特别是它那个能实时观测扰动的绝活,绝对能让电机转速稳得跟老司…

作者头像 李华
网站建设 2026/3/4 0:49:22

威纶通触摸屏宏指令:简易红绿灯控制程序实战教程

威纶通触摸屏宏指令红绿灯控制程序 威纶通触摸屏宏指令红绿灯控制程序,MT8071iE触摸屏 利用宏指令程序来控制,按下启动按钮,红绿灯系统运行,宏指令注释清晰,方便理解程序。 具有很好的学习意义和借鉴价值。半夜调试威…

作者头像 李华
网站建设 2026/3/4 19:43:18

Highcharts 配置语法详解

Highcharts 配置语法详解 Highcharts 是一个功能强大的图表库,可以用于创建各种类型的图表,如柱状图、折线图、饼图等。本文将详细介绍 Highcharts 的配置语法,帮助您更好地使用这个库。 1. 高级图表配置 在 Highcharts 中,所有的图表配置都通过一个 JSON 对象来实现。以…

作者头像 李华