JavaScript中的继承
class Student{
constructor(name,grade) {
this.name = name
this.grade = grade
}
introduce(){
console.log(`我是${this.name},我打了${this.grade}分`);
}
}
let student = new Student('张三',99)
class Teacher extends Student{
constructor(hobby) {
super('tom', 100);
this.hobby = hobby
}
sayHello(){
console.log('我是Teacher');
}
}
let teacher = new Teacher('basketball')
console.log(teacher); //{ name: 'tom', grade: 100, hobby: 'basketball' }
teacher.introduce() //我是tom,我打了100分
/*
* 一个类必须要有构造器
* 在那个introduce方法中,必须要this.xxx,才能拿到属性,因为是这个对象上才有这个属性,java中也是如此,也是this.xxx
* 在子类Teacher中,super那里就相当于给继承过来的student的构造器传参
* 还有,super必须要写,不然会报错
* 倘若super那里不传参,那么teacher就会输出{ name: undefined, grade: undefined, hobby: 'basketball' }
* 继承就相当于子类拥有父类的属性和方法,这也是继承的意义所在
* super相当于给继承过来的属性赋值
* */
这一路,灯火通明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现