【发布时间】:2018-02-24 22:22:15
【问题描述】:
我想在父类中扩展子类特定方法的功能。我还在习惯 ES6 中的 OOP,所以我不确定这是否可行或违反规则。
我正在寻找这样的东西:
class Parent {
constructor(elem) {
this.elem = elem;
elem.addEventListener((e) => {
this.doSomething(e);
});
}
doSomething(e) {
console.log('doing something', e);
}
}
class Child extends Parent {
constructor(elem) {
// sets up this.elem, event listener, and initial definition of doSomething
super(elem)
}
doSomething(e) {
// first does console.log('doing something', e);
console.log('doing another something', e);
}
}
本质上,我想在父方法上附加一个特定于子的回调。有没有一种创造性的方式来做到这一点,而无需创建具有相同功能的全新类?
【问题讨论】:
-
extends是每个类而不是每个实例。你想达到什么目标? -
将我的请求调整为只说“特定于孩子”,忽略我对“实例”@ideaboxer 的使用
-
设置 this.elem 应该发生在
super()调用之后... -
你能举一个真实的例子吗?这可能是 xy 问题...
标签: javascript oop inheritance ecmascript-6