【问题标题】:JavaScript: Is it possible to add arguments to a class extension?JavaScript:是否可以向类扩展添加参数?
【发布时间】:2018-10-15 12:28:51
【问题描述】:

我在 JavaScript 中使用 Toxiclibs Verlet 物理引擎,我想扩展 VerletParticle2D 类来创建自定义对象。添加参数和方法似乎很容易,但我想知道我的新类是否可以有额外的参数。例如,VerletParticle2D 接受一个参数,即位置向量。

我可以简单地用一个额外的参数调用新类,并传递两个向量,然后定义新参数如何在添加的方法中使用?

【问题讨论】:

  • 你不要“调用一个类”,你可以调用一个构造函数(使用new)。当你想扩展它以便它接受更多参数时,你只需像任何其他方法一样覆盖它。

标签: javascript class inheritance constructor arguments


【解决方案1】:

你当然可以像这样扩展一个类:

class BaseClass {
  constructor(vector1) {
    this.vector1 = vector1;
  }
}

class MyClass extends BaseClass {
  constructor(vector1, vector2) {
    super(vector1);
    this.vector2 = vector2;
  }
}

然后使用new MyClass(vector1, vector2) 创建一个新实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 2011-05-23
    • 1970-01-01
    相关资源
    最近更新 更多