对现实生活中一类具有共同特征的事物的抽象

# 例子

球类 相同点:圆 不同点:半径 5 篮球 半径 10 足球

class Ball {
    constructor(r) {
        this.r = r;
    }
}
1
2
3
4
5

# 例子(人类)

相同点:有四肢,会说话跑步吃饭 不同点:姓名不同,性别不同

class Father {
    constructor(name, sex) {
        this.name = name;
        this.sex = sex;
    }
    run() {
        console.log('我会跑步');
    }
    eat() {
        console.log('我会吃饭');
    }
    desc() {
      console.log(`我是${this.name},我是${this.sex}`);
    }
}
let huahua = new Father('huahua','女生');
let xiaoming = new Father('xiaoming','男生')
xiaoming.desc();//我是xiaoming,我是男生
huahua.desc();//我是huahua,我是女生

//继承
class Son extends Father{
    constructor(name, sex,age) {
        super(name,sex);
        //super用来调用基类(父类),
        //son是子类
        this.age = age;//在父类的基础上扩展
    }
    //可以重写或者在父亲的方法基础上添加方法
    desc() {
        console.log(`我是${this.name},我是${this.sex},我今年${this.age}岁了`);
    }
}

let son = new Son('xiaobai','男生',19);
son.desc();//我是xiaobai,我是男生,我几年19岁了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36