TS声明类的格式写法
TS中的class类有构造函数的类型约束就像声明一个基本数据类型
类的继承
类实现接口
可以用关键字interface来定义一个接口
如果一个类要使用objType这个接口就要用implements来使用这个接口
类的属性
1. 共有属性 public(默认)
2. 受保护得属性protected特点 在当前以及子类中可以访问,当实例化不能访问
3. private 私有属性 特点 只能在自身类内部访问 实例化无法访问 包括子类父类
dog类的name属性加了protected当前实例对象不能访问,所以huang.name会报错
枚举
数字枚举
enum Direction {
Up = 1,
Down,
Left,
Right
}
如上,我们定义了一个数字枚举, Up使用初始化为 1。 其余的成员会从 1开始自动增长。 换句话说, Direction.Up的值为 1, Down为 2, Left为 3, Right为 4
我们还可以完全不使用初始化器:
enum Direction {
Up,
Down,
Left,
Right,
}
现在, Up的值为 0, Down的值为 1等等。 当我们不在乎成员的值的时候,这种自增长的行为是很有用处的,但是要注意每个枚举成员的值都是不同的.
使用枚举很简单:通过枚举的属性来访问枚举成员,和枚举的名字来访问枚举类型:
enum Response {
No = 0,
Yes = 1,
}
function respond(recipient: string, message: Response): void {
// ...
}
respond("Princess Caroline", Response.Yes)
数字枚举可以被混入到 计算过的和常量成员(如下所示)。 简短地说,不带初始化器的枚举或者被放在第一的位置,或者被放在使用了数字常量或其它常量初始化了的枚举后面。 换句话说,下面的情况是不被允许的:
enum E {
A = getSomeValue(),
B, // error! 'A' is not constant-initialized, so 'B' needs an initializer
}