类的继承
//定义父类
class cars{
constructor(color,size,weight){
this.color=color
this.size=size
this.weight=weight
}
tool(){
console.log("避雨,代步工具")
}
}
//定义子类
class byd extends cars{
num(){
console.log("7座suv")
}
}
//实例化一个子类
let tang = new byd('白色',"2.6米","2.45吨")
console.log(tang)
tang.tool()
复制
在声明子类时候可以使用extends 父类name去继承父类的属性,以及方法
在上述例子我们也看到了指定的子类特有的方法直接指定,那么我们如何指定子类特有的属性呢?我们这里用到了super方法;
//声明父类
class cars{
constructor(){
this.color="颜色"
this.size="尺寸"
this.weight="重量"
}
tool(){
console.log("避雨,代步工具")
}
}
class byd extends cars{
constructor(){
//子类constructor中使用super才可以使用this
super();
this.pinpai="比亚迪"
super.tool()
}
num(){
console.log("7座suv")
}
}
let tang = new byd()
console.log(tang)
复制
在子类中需要知道子类特有方法需要在constructor中使用super(),super指向到父级类的原型区域,只有使用super()才可以声明this,否则报错,需要继承父类的方法,只需要使用super的方法就行,super.tool表示继承父类的tool方法!super就是指向父类原型