ES6中的类需要使用class来声明,
语法:
class Father{
constructor(x,y){ //这个相当于构造函数
this.x=x;
this.y=y;
}
sum(){
console.log(this.x+this.y); //注意,这里面的this永远指向的是Father这个类
//即使继承的调用这个方法,也都将指向Father类
}
}
类的继承
继承通过extends来解决
class Son extends Father{
constructor(x,y){ //每个类都有自己的构造函数,即使你不写这个构造函数,系统也会默认的给创建这个构造函数
this.x=x;
this.y=y;
super(x,y);给父类的构造函数传值,或者说调用了父类里面的构造函数
}
}
var son=new Son(1,2);
son.sum();//3
//sum里面使用的x,y的值是通过在构造函数里super传递给Father的值
子类调用符类的普通函数
继承中的属性或者方法查找原则是:就近原则
在子类的方法里使用 super.fnName()就行了,fnName是方法名