在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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!