TypeScript 什么是“implements”子句

TypeScript 什么是“implements”子句

在TypeScript中,implements子句用于验证一个类是否符合特定的接口。如果一个类未能正确实现一个接口,将会产生一个错误。类可以实现一个单一的接口或多个接口。

示例1: 创建了一个名为A的接口,它具有一个类型为void的display函数。类B和类C实现了接口A。类B没有引发错误,因为display方法被正确实现,但是类C拥有一个Display()方法,该方法与接口定义的方法不同,所以TypeScript编译器引发一个错误,指出类“C”错误地实现了接口“A”。

Javascript

// Creating an interface 
interface A { 
  display(): void; 
} 
  
class B implements A { 
  display() { 
    console.log("B"); 
  } 
} 
  
class C implements A { 
  
  //  Throws error:  Class 'C' incorrectly 
  // implements interface 'A'. 
  //  Property 'display' is missing in type 
  // 'C' but required in type 'A'. 
  Display() { 
    console.log("C"); 
  } 
} 

输出:

error TS2420: Class 'C' incorrectly implements interface 'A'.
  Property 'display' is missing in type 'C' but required in type 'A'.

    class C implements A {
          ~
          display(): void;
          ~~~~~~~~~~~~~~~~
'display' is declared here.

示例2: 如果在接口中存在一个额外的属性,除非定义了这些属性,否则它不会在实现接口的类中存在。在这种情况下,TypeScript编译器会引发错误。

JavaScript

interface A { 
  propA: number; 
  propB: number; 
} 
  
class B implements A { 
  propA = 0; 
} 
  
const obj = new B(); 
obj.propB = 3; 

输出:

TypeScript 什么是“implements”子句

参考: https://www.typescriptlang.org/docs/handbook/2/classes.html#implements-clauses

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程