老师你这样照着官方文档读,我真的不理解呢。

来源:3-12 接口 -类类型+继承接口+混合类型+接口继承类

叫啥名字好呢

2019-04-27

这个类类型接口看不懂,implements 啥意思?

写回答

2回答

ustbhuangyi

2019-04-27

一个类主要包含 2 个部分:
静态部分和实例部分。

类类型接口就是描述类的静态部分,比如:
interface ClockConstructor {
 new (hour: number, minute: number)
}
这个就是类类型的接口

而:
interface ClockInterface {
   currentTime: Date
  setTime(d: Date)
}
这个是实例类型的接口,描述类的实例部分。

implements 是一个关键字

class Clock implements ClockInterface

表示我定义了一个 Clock 类要去实现 ClockInterface 接口定义的这些属性方法。

2
5
EdonPlus
回复
ustbhuangyi
当一个类去实现一个接口的时候,它实际上是对实例部分做类型检查。 而构造器存在于类的静态部分,所以是不会做检查的。 那么当我们就是要对类的静态部分进行检查的时候,我们就用到类类型的接口,老师我这样理解对吗?
2019-07-06
共5条回复

EdonPlus

2019-07-06

老师,你说类类型接口就是描述类的静态部分。 

//img.mukewang.com/szimg/5d20b4f000017de116520246.jpg

比如在这方法中,我们用ClockConstructor描述了ctor参数,表示ctor参数必须有一个构造方法,而且这个构造方法必须有hour,minute参数,这里理解对吧?

 如果这样理解是对的,为什么我在下面写的两个类(DigitalClock、AnalogClock)中没有constructor(h: number, m: number) { },在传入在createClock的第一个参数的时候(ctor),不会报错??

//img.mukewang.com/szimg/5d20b5480001b86610300958.jpg


0
3
ustbhuangyi
回复
EdonPlus
理解正确
2019-07-07
共3条回复

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2629 学习 · 877 问题

查看课程