我们在使用JavaScript开发Web应用时,可能会想到为什么JavaScript没有接口。如果有接口,那么我们就可以遵循SOLD原则,以提高代码质量。庆幸的是,TypeScript帮我们解决了这个问题,它提供了接口支持。
在面向对象的设计中,一个类可以扩展成另一个类,也可以实现一个或者多个接口。一个接口可以实现一个或多个接口,但不能扩展另一一个类或接口。
什么是接口?
比较权威的接口定义是:
在面向对象的语言中,术语interface经常被用来定义一个不包含数据和逻辑
代码但用函数签名定义了行为的抽象类型。
简单的讲,接口就好比一份即将签署的协议,约定好了要遵守的规则。如果我们要实现接口,必须要遵守规则。这里的规则就是所谓的函数签名。
TypeScript 接口有哪些特点?
在TypeScript的语言世界里,接口并未完全遵循传统约定,它有着自己的特点。主要表现在两个方面。
- 接口可以扩展其他接口或者类。
- 接口可以定义数据或者行为,不止是行为。