类
1. 继承
class Animal {
name: string;
constructor(theName: string) { this.name = theName; }
move(distanceInMeters: number = 0) {
console.log(`${this.name} moved ${distanceInMeters}m.`);
}
}
class Snake extends Animal {
constructor(name: string) { super(name); } // super
move(distanceInMeters = 5) {
console.log("Slithering...");
super.move(distanceInMeters);
}
}
class Horse extends Animal {
constructor(name: string) { super(name); }
move(distanceInMeters = 45) {
console.log("Galloping...");
super.move(distanceInMeters);
}
}如果子类包含了构造函数,那么它必须调用 super(), 它会执行基类的构造函数。并且在构造函数访问this属性之前,一定要调用 super();
2. 公共,私有与受保护的修饰符
在 typescript 里,成员都默认为 public
private
protected
protected 与 privated 类似,但是 protected 成员在子类中可以访问。
3. 静态属性
4. 抽象类
抽象类作为其它派生类的基类使用,不会直接被实例化。
使用 abstract 关键字定义抽象类和在抽象类内部定义抽象方法
5. 构造函数
在TypeScript中声明一个类的时候,实际上声明了很多东西,比如, 类的实例的类型
除了类的实例的类型,我们可能还关注,类的类型
即通过 typeof 操作符,可以得到类的类型。
5. 把类当接口使用
类定义会创建两个东西: 类的实例类型和一个构造函数,那么实例类型就可以当做接口去使用
Last updated
Was this helpful?