对现实生活中一类具有共同特征的事物的抽象
# 例子
球类
相同点
:圆
不同点
:半径 5 篮球 半径 10 足球
class Ball {
constructor(r) {
this.r = r;
}
}
1
2
3
4
5
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
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