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()
相关推荐
比特森林探险记5 分钟前
组件通信 与 ⏳ 生命周期
前端·javascript·vue.js
海绵宝龙19 分钟前
Vue中nextTick
前端·javascript·vue.js
H_z_q24011 小时前
Web前端制作一个评论发布案例
前端·javascript·css
摘星编程1 小时前
React Native + OpenHarmony:useId唯一标识生成
javascript·react native·react.js
2603_949462101 小时前
Flutter for OpenHarmony社团管理App实战:消息中心实现
android·javascript·flutter
萧曵 丶2 小时前
JavaScript 函数各种写法和场景
开发语言·javascript·ecmascript
Yolanda943 小时前
【项目经验】钉钉免密登录实现
前端·javascript·钉钉
摘星编程3 小时前
在OpenHarmony上用React Native:collapsable节点优化策略
javascript·react native·react.js
Beginner x_u4 小时前
JavaScript 原型、原型链与原型继承的核心机制解析
开发语言·javascript·原型模式·原型原型链
Mr Xu_4 小时前
Vue3 + Element Plus 实战:App 版本管理后台——动态生成下载二维码与封装文件上传
前端·javascript·vue.js