上一章说了TypeScript的对象, 说完对象, 说TypeScript类。 类是对象的模板, 描述了所创建的对象共同的属性和方法。创建一个类的语法是这样
class className {
属性
构造函数
方法
}
举例
class Animal {
// 属性
name: string
color: string
constructor(name: string, color: string) {
this.name = name;
this.color = color;
}
// 方法
run() {
console.log("动物会跑。。。")
}
}
-
static关键字, 用于定义类的数据成员(属性和方法)为静态的, 静态成员和方法可以直接通过类名调用。举例
class Dog { // 属性 static color: string static show() { console.log(`我是一只${Dog.color}的狗`) } } Dog.color = "白色" Dog.show();
-
访问控制修饰符
TypeScript 中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。 TypeScript 支持 3 种不同的访问权限。
-
public(默认) : 公有,可以在任何地方被访问。
-
protected : 受保护,可以被其自身以及其子类和父类访问。
-
private : 私有,只能被其定义所在的类访问。
-
-
-
类的继承
TypeScript 支持继承类,即我们可以在创建类的时候继承一个已存在的类,这个已存在的类称为父类,继承它的类称为子类。
类继承使用关键字 extends,子类除了不能继承父类的私有成员(方法和属性)和构造函数,其他的都可以继承。
注意: TypeScript 一次只能继承一个类,不支持继承多个类。举例
class Animal { // 属性 name: string color: string constructor(name: string, color: string) { this.name = name; this.color = color; } // 方法 run() { console.log("动物会跑。。。") } } // Cat类继承了Animal类, 并且继承了父类的name属性和color属性 class Cat extends Animal { call() { console.log(`我是${this.name}, 我的颜色是${this.color}`); } } let cat = new Cat("咪咪", "白色"); cat.call();