在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);

在这个例子中,DerivedClassBaseClass的子类。在DerivedClass的构造函数中,我们首先使用super(name)来调用BaseClass的构造函数,并传入name参数。然后,我们打印一条消息来表示DerivedClass的构造函数已经被调用,并传入了age参数。

当我们创建一个DerivedClass的实例时,首先会调用基类的构造函数(也就是BaseClass的构造函数),然后才会调用子类的构造函数(也就是DerivedClass的构造函数)。所以,你会在控制台上看到如下的输出:

BaseClass constructor called with name: Alice
DerivedClass constructor called with age: 30
posted @ 2025-01-05 06:21  王铁柱6  阅读(58)  评论(0)    收藏  举报