javascript 子类是否需要与其父类具有相同的参数?



这是我的父类:

class Parent {
constructor(id, label, header="") {
this.id = id;
this.label = label;
this.header = header;
}
}

如果您愿意,可以手动设置标题,它将默认为"".

但是对于某些子类,我想禁止在实例化时设置标头。这会起作用吗:

class Child extends Parent {
constructor(id, label) {
super(id, label);
this.header = "Default Header";
}
}

也就是说,子类的构造函数是否可以省略其父类的某些参数?

没这个必要。这就是类扩展的工作原理。您正在parent属性传递给类child。至于constructor你想放什么取决于你。

是的,你可以做到。

您还可以在子构造函数中调用父构造函数(带有 3 个参数(:

class Child extends Parent {
constructor(id, label) {
super(id, label, "Default header");
}
}

最新更新