gpt4 book ai didi

javascript - 如何重写构造函数?

转载 作者:行者123 更新时间:2023-12-02 23:33:00 25 4
gpt4 key购买 nike

在我的代码中,我想创建一个名为 programmer 的类,该类从 employee 类扩展。

employee 类构造函数应采用 4 个参数,programmer 类构造函数应采用 5 个参数,其中 4 个来自雇员类,另一个来自程序员类。

我该怎么做?

class employee {

private id: string;
private name: string;
private department: string;
private salary: number;

constructor(id: string , name: string , department: string , salary: number) {

this.id = id;
this.name = name;
this.department = department;
this.salary = salary;

}



speak() {
console.log(`ID = ${this.id} , Name = ${this.name} , Department = ${this.department} , Salary = ${this.salary}`);
}
}

class programmer extends employee {

private programmingLang: string;

constructor() {
super();
}

speak() {
super.speak() , console.log(` , Programming Language = ${this.programmingLang}`);
}
}

最佳答案

我认为你的子类构造函数应该如下所示。

Constructor(id: string , name: string , department: string , salary: 
number,programmingLang: string) {
super(id,name,department,salary);
this.programmingLang = programmingLang;
}

子类具有其父类的所有属性,并且还具有其特定属性,因此子类构造函数必须将所有这些属性作为参数,并使用它继承的那些属性作为参数调用父类构造函数,并使用 this 初始化其特定属性关键字。

我不是java脚本程序员,但这就是继承在所有OOP支持的语言中通常的工作方式。希望对您有所帮助。

关于javascript - 如何重写构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com