分类
默认

如何用 class 实现继承?

利用 es6 中的 class 实现继承,首先是父类

//父类
class People {
    constructor(name) {
        this.name = name
    }
    eat(){
        console.log(`${this.name} eat something`)
    }
}

然后通过两个子类通过 extends 继承,注意使用 super 继承父类构造函数

//子类
class Student extends People{
    constructor(name,number){
        super(name)
        this.number = number
    }
    sayHi(){
        console.log(
            `姓名${this.name},学号${this.number}`
        )
    }
}
//子类
class Teacher extends People{
    constructor(name,major){
        super(name)
        this.major = major
    }
    teach(){
        console.log(
            `${this.name} 教 ${this.major}`
        )
    }
}

实例化输出

//实例化
const xialuo = new Student('夏洛',100)
console.log(xialuo.name,xialuo.number) //夏洛 100
xialuo.sayHi() //姓名夏洛,学号100
xialuo.eat() //夏洛 eat something
const wang = new Teacher('王老师','英语')
wang.teach() // 王老师 教 英语
xialuo.eat() // 夏洛 eat something