Javascript JS:ECMAScript 6如何向扩展类传递不同数量的参数
我的班级有点小问题。这很容易,但我就是找不到解决办法。类Javascript JS:ECMAScript 6如何向扩展类传递不同数量的参数,javascript,ecmascript-6,Javascript,Ecmascript 6,我的班级有点小问题。这很容易,但我就是找不到解决办法。类Cuboid工作得很好,但是类Cube不太好,我想我用了super方法 给我一点提示。先谢谢你 类长方体{ 建造商(长度、宽度、高度){ 这个长度=长度; 这个。宽度=宽度; 高度=高度; } 获取surfaceearea(){ 返回(this.length*this.width+this.length*this.height+this.height*this.width)*2; } 获取卷(){ 返回this.length*this.w
Cuboid
工作得很好,但是类Cube
不太好,我想我用了super
方法
给我一点提示。先谢谢你
类长方体{
建造商(长度、宽度、高度){
这个长度=长度;
这个。宽度=宽度;
高度=高度;
}
获取surfaceearea(){
返回(this.length*this.width+this.length*this.height+this.height*this.width)*2;
}
获取卷(){
返回this.length*this.width*this.height;
}
}
类立方体扩展长方体{
构造函数(长度){
超级(长度);
高度=长度;
}
}
正如我所建议的,立方体是长方体,所有三维空间都相等。因此,有两种选择:
一,
二,
正如我所说,立方体是长方体,所有的三维空间都相等。因此,有两种选择: 一, 二,
超类构造函数接受参数length、width和height,而不仅仅是length。您所说的“is just not okey”是什么意思?您可能希望将3个正确的参数传递给
super()
,并删除this.height=length代码>部分。在立方体中使用super(长度、长度、长度)。@Evantimboli类Cube
必须从Cuboid
类制作立方体。每个人都知道立方体是什么样子的,要计算体积和面积,只需要一个参数,比如长度。超类构造函数接受的参数是长度、宽度和高度,而不仅仅是长度。你说的“is just not okey”是什么意思?你可能想将3个正确的参数传递给super()
,并删除this.height=长度代码>部分。在立方体中使用super(长度、长度、长度)。@Evantimboli类Cube
必须从Cuboid
类制作立方体。每个人都知道立方体是什么样子的,要计算体积和面积,你只需要一个参数,比如长度。顺便说一句,如果你能向上投票我的问题,我将不胜感激,因为stackoverflow阻止了我进一步提问的能力,因为有3次向下投票。请以对其他用户有用的方式编辑你的问题。比如:如何向扩展类传递不同数量的参数。第二个是一个非常可怕的想法,当你传递0
时,它不起作用。如果使用默认参数:constructor(length,width=length,height=length){…}
,因为stackoverflow阻止了我进一步提问,因为我投了3次反对票。请编辑您的问题,使其对其他用户有用。比如:如何向扩展类传递不同数量的参数。第二个是一个非常可怕的想法,当你传递0
时,它不起作用。如果有的话,请使用参数默认值:constructor(length,width=length,height=length){…}
class Cube extends Cuboid {
constructor(length) {
super(length, length, length);
}
}
class Cuboid {
constructor(length, width, height) {
this.length = length || 0;
this.width = width || this.length;
this.height = height || this.width;
}
// ....