用class实现继承

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();

参考:

1_使用 class 实现继承_哔哩哔哩_bilibili

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值