【发布时间】:2020-03-21 02:41:49
【问题描述】:
所以我想知道这是否可能。我希望 super() 函数阻止 sub() 继续。
class Parent(){
foo(){
//Stop command that stops the code here.
}
}
class Child extends Parent{
foo(){
super().foo();
//this code should not run
}
}
我知道我可以让父母返回 false 并对其进行测试,但是我所有的孩子都必须对其进行测试。使用继承的原因之一是将通用代码移至父级。我认为这是不可能的(甚至不建议这样做),但我只是想知道。
【问题讨论】:
-
抛出异常?
-
如果将 Child 逻辑作为参数传递给 Parent 会怎样?然后您可以在父类内部进行检查并确定是否/何时运行子代码?示例:
foo(func) => { ... }像super.foo(() => { ..child logic..});一样调用 -
请指定您的用例。如果您想停止执行错误,只需抛出异常就可以了。否则,您可能使用了错误的编码模式。
标签: javascript inheritance ecmascript-6