class

it2022-06-08  103

ES6 允许新建“类”(class)

class SkinnedMesh extends THREE.Mesh { constructor(geometry, materials) { super(geometry, materials); this.idMatrix = SkinnedMesh.defaultMatrix(); this.bones = []; this.boneMatrices = []; //... } update(camera) { //... super.update(); } get boneCount() { return this.bones.length; } set matrixType(matrixType) { this.idMatrix = SkinnedMesh[matrixType](); } static defaultMatrix() { return new THREE.Matrix4(); } }

上面是一个类的定义。

constructor():构造函数,新建实例的时候,自动调用这个方法。extends:第一行的extends关键字表示继承某个父类。super:子类方法里面的super指代父类。get():get是取值器,读取该方法定义的属性时,会自动执行指定的代码。set():set是赋值器,赋值该方法定义的属性时,会自动执行指定的代码。static:方法前面加上static关键字,表示该方法是静态方法,定义在类上面,而不是定义在实例对象上面,以上面为例,就是SkinnedMesh.defaultMatrix()这样调用。

定义了类以后,就可以新建实例了。

const instance = new SkinnedMesh();

转载于:https://www.cnblogs.com/piaobodewu/p/9742009.html


最新回复(0)