class的继承—ES6第七节

微信公众号:新鹏指南

如有问题或建议,请公众号留言

最近更新:

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到子类上

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180314G1D7QH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券