在es6中可以通过class关键字来定义类和实现类的继承。主要体现在以下几点
- 在类中通过constructor定义构造方法。
- 通过new关键字来创建类的实例。
- 通过extends类实现类的继承。
- 通过super调用父类的构造方法。
- 重写从父类中继承的一般方法。
//定义一个人物的类
class Person {
//定义类的构造方法
constructor(name,age){
this.name = name;
this.age = age;
}
//定义类的一般方法
showName(){
console.log(this.name,this.age)
}
}
let p1 = new Person("kobe",39);
p1.showName();
//定义一个子类
class StarPerson extends Person { //extends来实现类的继承
constructor(name,age,salary){
super(name,age);//super来实现继承父类的构造方法
this.salary = salary;//自己特有的属性
}
//父类的方法重写
showName(){
console.log(this.name,this.age,this.salary)
}
}
let p2 = new StarPerson("kobe",39,100000);
console.log(p2);
p2.showName();
注意:定义类的方法时,前面不需要加上function这个保留字,直接把函数定义放进去就可以了,另外方法之间不需要逗号分隔,加了会报错。