微信公众号:新鹏指南
如有问题或建议,请公众号留言
最近更新:
extends、 static、 super
在ES6中extends关键字,可以很方便的实现子类继承父类,同时static关键字可以为类指定静态方法,以及super关键字可以在子类继承父类的时候,方便的去调用父类原型身上的方法或者静态方法。
本节我们将通过具体的例子来阐述着三个关键字如何使用?
首先我们在html中写了一个简单的canvas画布以及一些简单的样式阴影,这样我们可以很方便的看到这个画布在文档中的位置。
index.html
如图所示:
需求:
我们要写一个小球的类,通过实例化这个小球,将小球绘制在画布当中。
并且让小球做一个自由落体的运动。
我们做一下简单的总结回顾:
首先在Ball这个类中,我们通过static关键字来指定了一个镜静态方法,静态方法实际上就是挂载到类身上的方法,
接下来我们实现了用extends,用子类去继承父类,并且想给子类去指定一些额外的属性,首先需要通过super关键字调用一下父类的构造函数,这里面想继承那些属性就要把哪些属性当参数传到方法上,
接下来在子类的原型方法当中,如果是super()当作一个函数去调用的时候,就会报错,
此外,在构造函数当中在没使用super()之前是拿不到this 对象的,必须先调用super()才能调用子类的this对象。
接下来在原型的方法当中还有第二种情况,super可以当作一个对象去调用,它实际上指向的是父类原型的对象,并且在调用父类原型身上的方法的时候,会自动的绑定子类的this
子类继承父类 使用extends 关键字
为父类指定静态方法,使用 static 方法名字
super
- 在构造函数中可以当做一个函数来使用,相当于调用父类的构造函数
- 在原型方法中,可以当一个对象类使用,相当于父类的原型对象,并且会自动绑定this到子类上
领取专属 10元无门槛券
私享最新 技术干货