Understanding Classes: Create a Three-Point Triangle?

Question: How can I take the Trialgle Class extend Point (supers (?)) And create an object that looks like this:

// "name":"Thomas The Triangle", // "points": [ // {age: "2015-05-28T06:23:26.160Z", x: 1, y: 1 }, // {age: "2015-05-28T06:23:26.161Z", x: 0, y: 3 }, // {age: "2015-05-28T06:23:26.164Z", x: 2, y: 3 } // ] 

JS:

 class Point { constructor(x, y){ this.name = "Point" this.age = new Date(); this.x = x; this.y = y; } } class Triangle extends Point{ constructor(coords, name) { super(coords[0][0], coords[0][1]); //this line is best I could do but not correct this.name = name } } let t1 = new Triangle([[1,1],[0,3],[2,3]], 'Thomas The Triangle') console.log(t1); 

**

Live code for ES6

**

+5
source share
1 answer

It doesn't seem like Triangle needed to extend Point . It is rather a compilation of several Point objects in an array of points. Something like that:

 class Triangle { constructor(coords, name) { this.points = coords.map((point) => { return new Point(...point); }); this.name = name; } } 
+8
source

All Articles