📅  最后修改于: 2023-12-03 15:23:47.005000             🧑  作者: Mango
在 TypeScript 中,我们可以使用继承创建子类。当我们需要在子类中访问基类中的属性和方法时,需要调用基类的构造函数。
super()
调用基类构造函数可以使用 super()
函数来调用基类的构造函数,可以将参数传递给基类的构造函数。调用 super()
之后,就可以通过 this
访问基类的属性和方法。
以下示例是一个基类 Animal
和一个子类 Cat
的示例,演示了如何从子类中访问基类的构造函数。
class Animal {
private name: string;
constructor(name: string) {
this.name = name;
}
public move(distance: number = 0) {
console.log(`${this.name} moved ${distance}m.`);
}
}
class Cat extends Animal {
constructor(name: string) {
super(name);
}
public makeSound() {
console.log(`${this.name} says Meow!`);
}
}
let cat = new Cat("Fluffy");
cat.move(10);
cat.makeSound();
输出:
Fluffy moved 10m.
Fluffy says Meow!
super()
调用基类的静态方法在子类中,我们也可以使用 super()
调用基类的静态方法。只需要使用 super
后跟一个点号和基类的方法名。
以下示例是一个基类 Human
和一个子类 Student
的示例,演示了如何从子类中访问基类的静态方法。
class Human {
static talk() {
console.log("I'm talking!");
}
}
class Student extends Human {
static talk() {
super.talk();
console.log("I'm studying!");
}
}
Student.talk();
输出:
I'm talking!
I'm studying!
在 TypeScript 中,可以使用 super()
函数来调用基类的构造函数和静态方法。这就允许我们在子类中访问基类中的属性和方法,使我们的代码更加灵活和易于维护。