class Staff {
constructor(name, position) {
this.name = name;
this.position = position;
}
introduce() {
console.log(`我叫${this.name},负责${this.position}。`)
}
}
class TeamLeader {
constructor(name, dept) {
this.name = name;
this.dept = dept;
}
manage() {
console.log(`我叫${this.name},是${this.dept}的负责人。`)
}
}
const staff = new Staff('咚恰恰', '前端开发');
console.log('staff', staff);
staff.introduce();
const tl = new TeamLeader('咚咚咚','前端组');
console.log('tl', tl);
tl.manage()
output:
基类实现继承
class Person {
constructor(name) {
this.name = name;
}
work() {
console.log('我会干活');
}
eat() {
console.log('我会吃饭');
}
}
class Staff extends Person {
constructor(name, position){
super(name);
this.position = position;
}
introduce() {
console.log(`我叫${this.name},负责${this.position}。`)
}
}
class TeamLeader extends Person {
constructor(name, dept){
super(name);
this.dept = dept;
}
manage() {
console.log(`我叫${this.name},是${this.dept}的负责人。`)
}
}
const staff = new Staff('咚恰恰', '前端开发');
console.log('staff', staff);
staff.introduce();
staff.eat();
staff.work();
const tl = new TeamLeader('咚咚咚','前端组');
console.log('tl', tl);
tl.manage();
tl.eat();
tl.work();
output:
原代码:
class Staff {
constructor(name, position) {
this.name = name;
this.position = position;
}
introduce() {
console.log(`我叫${this.name},负责${this.position}。`)
}
}
class TeamLeader {
constructor(name, dept) {
this.name = name;
this.dept = dept;
}
manage() {
console.log(`我叫${this.name},是${this.dept}的负责人。`)
}
}
const staff = new Staff('咚恰恰', '前端开发');
console.log('staff', staff);
staff.introduce();
const tl = new TeamLeader('咚咚咚','前端组');
console.log('tl', tl);
tl.manage()
console.log('-------class实现继承------');
// class Person {
// constructor(name) {
// this.name = name;
// }
// work() {
// console.log('我会干活');
// }
// eat() {
// console.log('我会吃饭');
// }
// }
// class Staff extends Person {
// constructor(name, position){
// super(name);
// this.position = position;
// }
// introduce() {
// console.log(`我叫${this.name},负责${this.position}。`)
// }
// }
// class TeamLeader extends Person {
// constructor(name, dept){
// super(name);
// this.dept = dept;
// }
// manage() {
// console.log(`我叫${this.name},是${this.dept}的负责人。`)
// }
// }
// const staff = new Staff('咚恰恰', '前端开发');
// console.log('staff', staff);
// staff.introduce();
// staff.eat();
// staff.work();
// const tl = new TeamLeader('咚咚咚','前端组');
// console.log('tl', tl);
// tl.manage();
// tl.eat();
// tl.work();
参考: