天天看点

类的传参以及super属性和super对象

类的继承

//定义父类
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就是指向父类原型