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()
相关推荐
沐土Arvin1 小时前
理解npm的工作原理:优化你的项目依赖管理流程
开发语言·前端·javascript·设计模式·npm·node.js
好_快1 小时前
Lodash源码阅读-baseUniq
前端·javascript·源码阅读
牧羊狼的狼1 小时前
React.memo 和 useMemo
前端·javascript·react.js
好_快2 小时前
Lodash源码阅读-uniq
前端·javascript·源码阅读
梦境之冢3 小时前
在 Vue3 中封装的 Axios 实例中,若需要为部分接口提供手动取消请求的功能
javascript·vue.js
qq_456001654 小时前
在Vue3中,如何在父组件中使用v-model与子组件进行双向绑定?
前端·javascript·vue.js
一夜枫林7 小时前
uniapp自定义拖拽排列
前端·javascript·uni-app
良艺呐^O^8 小时前
uniapp实现app自动更新
开发语言·javascript·uni-app
拉不动的猪11 小时前
前端自做埋点,我们应该要注意的几个问题
前端·javascript·面试
烛阴11 小时前
Node.js中必备的中间件大全:提升性能、安全与开发效率的秘密武器
javascript·后端·express