class的使用

javascript 复制代码
//创建Person类
class Person {
	//构造器方法
	constructor(name,age){
		//构造器中this指向类的实例对象
		this.name = name
		this.age = age
	}
	speak(){
		//speak方法再类的原型对象上,供实例使用
		console.log(`我是${this.name},我今年${this.age}岁`)
	}
}
const p1 = new Person('张三',18)
const p2 = new Person('李四',19)
console.log(p1)
console.log(p1)
p1.speak()

//继承
//创建一个Student类,继承自Person类
class Student extends Person {
	constructor(name,age,grade){
		super(name,age)
		this.grade = grade
	}
	//重写继承自父类的方法
	speak(){
		//speak方法在Student类的原型链上
		console.log(`我是${this.name},我今年${this.age}岁,我上${this.grade}`)
	}
	study(){
		//study方法在原型对象上
		console.log(`我在学Class`)
	}
}

const s1 = new Student('张三',18,'三年级')
console.log(s1)
s1.speak()
s1.study()
相关推荐
子龙_6 分钟前
JS解析wav音频数据并使用wasm加速
前端·javascript·音视频开发
爱吃大橘9 分钟前
到底用 `Promise.reject` 还是 `throw new Error`
前端·javascript·面试
aningxiaoxixi20 分钟前
android audio 之 Engine
android·前端·javascript
码农小菲34 分钟前
告别虚拟 DOM?Vue3.6 Vapor 模式的性能革命与实践
前端·javascript·vue.js
Hilaku40 分钟前
从 jQuery 到 React 再到 Svelte:我眼中的前端组件化演进史
前端·javascript·svelte
超龄超能程序猿43 分钟前
Electron-updater + Electron-builder + IIS + NSIS + Blockmap 完整增量更新方案
前端·javascript·electron
飏旎1 小时前
Vue中computed和watch的区别
前端·javascript·vue.js
绍棠1 小时前
uniapp转app时,cover-view的坑
前端·javascript·uni-app
前端Hardy1 小时前
Python是怎么将Vue项目打包成桌面端应用程序的?看这篇就够了
前端·javascript·python
uppp»2 小时前
echarts在前后端分离项目中的实践与应用
前端·javascript·echarts