JS基础之如何使用class继承

96 阅读1分钟

1.什么是Class

        class是面向对象编程的一种语法,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。本质上是一个模板,在这模板里,可以构造出各种各样的属性和方法。比如像这样:

//定义class时 开头名称要大写
class People {
    // 构造器
    constructor(name,age) {
        this.name = name
        this.age = age
    }
    //方法
    SayHi(){
        console.log(`名字为: ${this.name} - 年龄为: ${this.age}`);
    }
}


//创建变量来 new 对象/实例 
const zhangsan = new People('张三', 23)
zhangsan.SayHi()     //名字为: 张三  年龄为: 23
console.log(zhangsan.name);     //张三
console.log(zhangsan.age );     //23

2.如何用class来继承

(1)先声明一个父类 

(2)然后用extends 来继承这个父类 

(3)super来传递父类声明的值

具体实例如下:

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

// 子类继承父类 
// 如果需要用到父类的属性通过super可以直接拿到
class Teacher extends People {
    constructor(name,major) {
        // super直接拿类定义过的值来用
        super(name)
        this.major = major
    }
    teach() {
        console.log(`${this.name} 教授 ${this.major}`)
    }
}

// 实例
const wanglaoshi = new Teacher('王老师', '语文')
console.log(wanglaoshi.name);   // 王老师
console.log(wanglaoshi.major);   // 语文
wanglaoshi.teach()  // 王老师 教授 语文

注 : 自己学习整理,如果有不对的地方,还请多多指教,谢谢大家 ~!