TypeScript 接口教程

TypeScript编程语言中,接口(Interface)是一种强大的工具,用于定义对象的结构。接口可以看作是类的契约,它规定了类必须实现的属性和方法,但不包含任何实现细节。本文将带了解如何在TypeScript中使用接口,包括定义接口、在类中实现接口、接口继承接口以及接口继承类。

定义接口

TypeScript中,接口使用interface关键字定义。接口中定义的所有成员默认都是公开的(public)。接口不能包含私有成员,也不能包含成员的实现。下面是一个定义接口的例子:

interface Person { fullName: string; toString(): void; }

在这个例子中,定义了一个名为Person的接口,它要求实现它的类必须有一个名为fullName的字符串属性和一个名为toString的方法。

类实现接口

一旦定义了接口,就可以在类中实现它。实现接口的类必须提供接口中所有成员的实现。下面是一个实现Person接口的类的例子:

class Employee implements Person { empID: string; fullName: string; constructor(eID: string, name: string) { this.empID = eID; this.fullName = name; } toString() { console.log(`EMP ID of ${this.fullName}: ${this.empID}`); } }

在这个例子中,创建了一个名为Employee的类,它实现了Person接口。类中定义了empIDfullName属性,以及一个toString方法,该方法打印员工的详细信息。

接口继承接口

TypeScript允许接口继承另一个接口,这样可以将一个接口的成员复制到另一个接口中。这使得接口更加灵活,可以将接口拆分成可重用的组件。下面是一个接口继承另一个接口的例子:

interface Vehicle { // Vehicle interface members } interface TwoWheeler extends Vehicle { // TwoWheeler interface members }

在这个例子中,TwoWheeler接口继承了Vehicle接口,这意味着TwoWheeler接口将包含Vehicle接口的所有成员。

接口继承类

TypeScript还允许接口继承类类型。在这种情况下,类成员的声明会被继承到接口中,但不包括它们的实现。这与类继承接口类似。下面是一个接口继承类的示例:

class Vehicle { constructor(public brand: string) { } getBrandName(): string { return this.brand; } } class Engine { constructor(public manufacturer: string) { } getManufacturerName(): string { return this.manufacturer; } } interface TwoWheeler extends Vehicle, Engine { getBrandName(): string; getManufacturerName(): string; }
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485