Javascript OOP类对象继承
下面的Javascript代码输出: 员工{姓名:“希拉”,性别:“女”,“经理:员工,{工作:工作} 如何修复它以使其输出: 员工{姓名:“希拉”,性别:“女”,经理:“皮埃尔”,职务:“软件工程师”} 不确定是否有吊装问题。 我应该修正哪一行,以便#经理是“皮埃尔”而#工作是“软件工程师”Javascript OOP类对象继承,javascript,oop,inheritance,instance,prototypal-inheritance,Javascript,Oop,Inheritance,Instance,Prototypal Inheritance,下面的Javascript代码输出: 员工{姓名:“希拉”,性别:“女”,“经理:员工,{工作:工作} 如何修复它以使其输出: 员工{姓名:“希拉”,性别:“女”,经理:“皮埃尔”,职务:“软件工程师”} 不确定是否有吊装问题。 我应该修正哪一行,以便#经理是“皮埃尔”而#工作是“软件工程师” 问题是打印对象的类型而不是值。Job和Manager需要一个toString函数来打印值而不是类型,请参见“Job”属性是一个对象。您可以给它一个.toString()方法,这样当它被记录时,它就可以生成
问题是打印对象的类型而不是值。Job和Manager需要一个toString函数来打印值而不是类型,请参见“Job”属性是一个对象。您可以给它一个
.toString()
方法,这样当它被记录时,它就可以生成您喜欢的字符串。
class Person{
#name;
#gender;
constructor(name, gender) {
this.#name = name;
this.#gender = gender;
};
setName(name) {
this.#name = name;
};
getName() {
return this.#name;
};
setGender(gender) {
this.#gender = gender;
}
getGender() {
return this.#gender;
};
}
class Employee extends Person{
#manager;
#job;
constructor(name, gender, manager, job) {
super(name, gender);
this.#manager = manager;
this.#job = job;
};
setManager(manager) {
this.#manager = manager;
}
getManager() {
return this.#manager;
}
setJob(job) {
this.#job = job;
}
getJob() {
return this.#job;
}
}
class Job {
#title;
constructor(title) {
this.#title = title;
};
}
const softwareEngineer = new Job("software engineer");
const keith = new Employee("keith", "male");
const pierre = new Employee("pierre", "male");
const sheila = new Employee("sheila", "female", keith, softwareEngineer);
sheila.setManager(pierre);
console.log(sheila);