Ich habe gerade in JavaScript und ich bin etwas verwirrt durch seine objektorientierte Verhalten. Ich habe nur versucht, eine Klasse zu erstellen Point2D
mit x
, y
Mitglieder und erweitern sie mit einer Point3D
Klasse mit x
, y
, z
Mitglieder. Das Verhalten ich versuche zu erreichen, so etwas wie, sagen wir, es in C#:Invoke "Superklasse" -Konstruktor in 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; }
}
ich eine Menge Sachen zu lesen, aber ich scheine nicht wirklich zu finden, was ich suche. Hier ist, was ich bisher habe kommen:
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);
was offensichtlich falsch ist.
Nun, ich weiß, ich sollte wie Point3D.prototype = new A(x, y)
etwas tun, aber ich möchte nicht, einen Prototyp mit festenx
, y
Koordinaten und variable z
erstellen. Es muss sehr einfach sein, aber ich bekomme es einfach nicht, ich kann nicht scheinen, den Superklassenkonstruktor zu nennen oder es sich richtig zu verhalten.
Vielen Dank, ich war verrückt und es war so einfach! Ich werde definitiv mindestens eines dieser Bücher lesen. – Cancer