Mat*_*ood 5 javascript inheritance class composition
问题: 如何使用Triangle Class扩展Point(超(?))并组成一个如下所示的对象:
// "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 }
// ]
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
**
**
它看起来不像Triangle需要扩展Point.它将多个Point对象组合成点数组.像这样的东西:
class Triangle {
constructor(coords, name) {
this.points = coords.map((point) => {
return new Point(...point);
});
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |