Javascript 如何重写构造函数?
在我的代码中,我想创建一个名为Javascript 如何重写构造函数?,javascript,typescript,web,Javascript,Typescript,Web,在我的代码中,我想创建一个名为programmer的类,它从employee类扩展而来 employee类构造函数应该取4个参数,programmer类构造函数应该取5个参数,4个来自employee类,另一个来自programmer类 我该怎么做 class employee { private id: string; private name: string; private department: string; private salary: n
programmer
的类,它从employee
类扩展而来
employee
类构造函数应该取4个参数,programmer
类构造函数应该取5个参数,4个来自employee类,另一个来自programmer类
我该怎么做
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;
}
子类具有其父类的所有属性,也具有其特定的属性,因此子类构造函数必须将所有这些属性作为参数,并使用其固有的属性作为参数调用父类构造函数,同时使用此关键字初始化其特定属性
我不是java脚本程序员,但这就是继承在所有支持OOP的语言中通常的工作方式。希望有帮助。请特别参阅类员工扩展人员的示例。