这是我的父类:
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");
}
}