关键字:
extends : 继承
super :
1.直接当成函数使用,表示调用父类的构造器
2.当成对象使用,表示父类的原型
3.super()只能用在子类的constructor方法之中,用在其他地方就会报错。
//ES6继承
//继承的关键字 extends 用于在类中定义
//super 两种方法
// 直接当成函数,表示调用父类的构造器
// 当成对象使用 ,表示父类的原型
class Shop {
constructor (name,age,crity){
this.name = name;
this.age = age;
this.crity = crity
}
print(){
console.log(`店名叫${this.name},我做了${this.age},我在${this.crity}开的店`);
}
}
class Baskde extends Shop {
constructor(name,age,crity,loves){
super(name,age,crity)
this.loves = loves
}
//如果说子类不写 constructor ,则会右默认的构造器,自动的去调用父类的构造器
print(){//子类和父类有同名的方法,先用自己的
console.log(`爱好:${this.loves}`);
//console.log(111);
super.print()//调用父类的方法;
}
}
const d = new Baskde('耐克',12,'北京','板鞋')
console.log(d);
d.print()
总的来说,ES6继承方法的好处就是简化了代码 ,不用像ES5还要写一大串代码