请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

没有使用implements去实现接口,代码中所有接口和类都没有这样去写,为什么?

export interface AxiosInterceptorManager {
use(resolved: ResolvedFn, rejected?: RejectedFn): number

eject(id: number): void
}

export default class InterceptorManager {
private interceptors: Array<Interceptor | null>

constructor() {
this.interceptors = []
}

use(resolved: ResolvedFn, rejected?: RejectedFn): number {
this.interceptors.push({
resolved,
rejected
})
return this.interceptors.length - 1
}

forEach(fn: (interceptor: Interceptor) => void): void {
this.interceptors.forEach(interceptor => {
if (interceptor !== null) {
fn(interceptor)
}
})
}

eject(id: number): void {
if (this.interceptors[id]) {
this.interceptors[id] = null
}
}
}

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2020-08-09 11:58:14

类的实现并不一定需要使用 implements 关键字去实现某个接口,只需要保证它最终的实现和接口一致即可。

0 回复 有任何疑惑可以回复我~
  • 老师,那implements的意义何在呢?
    
    什么时候要用implements去实现类,什么时候无需用implement去实现类。
    
    typescript的意义不就是通过这些契约限制,去约束我们的代码吗?
    回复 有任何疑惑可以回复我~ 2020-09-03 18:10:01
  • implements 通常就是用于类实现某个接口,当然你也可以为每个类的实现都使用 implements 关键字,它的意义正如你说所的,约束类的实现和接口定义一致。
    回复 有任何疑惑可以回复我~ 2020-09-04 10:31:01
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信