假设我们有:
class FinalClass {
...
}
如何修改它以使
class WrongClass extends FinalClass {
...
}
或者
new WrongClass(...)
生成异常?也许最明显的解决方案是在 FinalClass 的构造函数中执行以下操作:
if (this.constructor !== FinalClass) {
throw new Error('Subclassing is not allowed');
}
有没有人有更清洁的解决方案,而不是在每个应该是最终的类中重复这些行(可能使用装饰器)?