類的繼承
//定義父類
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就是指向父類原型