JavaScriptを使用したばかりで、オブジェクト指向の動作に困惑しています。 私は、をx
、y
のメンバーで作成し、x
、y
、z
というメンバーでPoint3D
クラスに拡張しようとしました。私が達成しようとしている 挙動が何かあるような、のは、C#でそれを言うてみましょう:JavaScriptで「スーパークラス」コンストラクタを呼び出す
class Point2D
{
int x, y;
public Point2D(int x, int y) { this.x = x; this.y = y; }
}
class Point3D : Point2D
{
int z;
public Point3D(int x, int y, int z) : base(x, y) { this.z = z; }
}
私は多くのものを読んで、私は本当に私が探しているものを見つけるように見えることはありません。 は、ここで私はこれまでのところまで来ているものだ:明らかに間違っている
function Point2D(x, y) { this.x = x; this.y = y; }
Point2D.prototype.constructor = Point2D;
function Point3D(x, y, z) { Point2D.prototype.constructor.call(this); this.z = z; }
Point3D.prototype = new A(); // see latter explanation
Point3D.prototype.constructor = B;
var p = new Point3D(10, 20, 30);
を。
は今、私はPoint3D.prototype = new A(x, y)
ような何かを行う必要があります知っているが、私は固定x
、y
座標と変数z
でプロトタイプを作成する必要はありません。 非常にシンプルでなければなりませんが、私はそれを得ていません。スーパークラスのコンストラクタを呼び出すことや、正しく動作させることができません。
ありがとう、私はナッツに行くと、それは簡単でした! 私は間違いなくそれらの本の少なくとも1つに読書をします。 – Cancer