JavaScript子类是否需要具有与其父类相同的参数?
问题描述:
这里是我的父类: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
这取决于你想要在那里放什么。
+0
'class Child extends Parent' - Child class获取父属性,而不是其他方式,对吗? – Oen44
答
是的,你可以做到。
您也可以调用构造函数孩子父母的构造函数(3个参数):
class Child extends Parent {
constructor(id, label) {
super(id, label, "Default header");
}
}
你忽略了父类的'header'变量。这是一个错字还是打算? (即你没有做'this.header = header',而忽略它) – Svenskunganka
@svenskkunganka错字,欢呼声 –
你为什么不试试呢? – 2017-07-14 10:08:58