在TypeScript中如何从子类调用基类构造函数?
在TypeScript中,你可以使用super关键字来从子类调用基类(也就是父类)的构造函数。super关键字在子类的构造函数内部使用,而且必须在使用this关键字之前调用。
下面是一个简单的例子:
class BaseClass {
constructor(public name: string) {
console.log("BaseClass constructor called with name: " + name);
}
}
class DerivedClass extends BaseClass {
constructor(name: string, public age: number) {
super(name); // 调用基类的构造函数
console.log("DerivedClass constructor called with age: " + age);
}
}
// 创建一个DerivedClass的实例
let derived = new DerivedClass("Alice", 30);
在这个例子中,DerivedClass是BaseClass的子类。在DerivedClass的构造函数中,我们首先使用super(name)来调用BaseClass的构造函数,并传入name参数。然后,我们打印一条消息来表示DerivedClass的构造函数已经被调用,并传入了age参数。
当我们创建一个DerivedClass的实例时,首先会调用基类的构造函数(也就是BaseClass的构造函数),然后才会调用子类的构造函数(也就是DerivedClass的构造函数)。所以,你会在控制台上看到如下的输出:
BaseClass constructor called with name: Alice
DerivedClass constructor called with age: 30
浙公网安备 33010602011771号