zoukankan      html  css  js  c++  java
  • class

    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();
  • 相关阅读:
    局域网主机A向主机B发送ip数据报的过程
    用户使用浏览器访问万维网经历的步骤
    sql
    PMP:总概
    LINQ
    下拉框
    PMP:项目采购管理
    PMP:项目风险管理
    PMP:沟通管理。相关方管理
    PMP:项目资源管理
  • 原文地址:https://www.cnblogs.com/piaobodewu/p/9742009.html
Copyright © 2011-2022 走看看