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();
  • 相关阅读:
    循环逗号分割数组!
    只是想好好学习一下!
    html元素水平垂直居中
    闭包知识点--笔记
    20160314
    从零开始做运维-零
    Nginx 和 CodeIgniter
    安装PIL库
    init
    NutUI3 多端实践之路
  • 原文地址:https://www.cnblogs.com/piaobodewu/p/9742009.html
Copyright © 2011-2022 走看看