我有三個類,其中兩個擴展了第三個類。是否有可能以某種方式(不同於手動)將擴展類的名稱分配給超級構造函數?在構造函數中保存擴展類的'方法'名稱
class Master {
constructor(options) {
this.methods = Object.getOwnPropertyNames(Master.prototype);
}
getMethods() {
return Object.getOwnPropertyNames(Master.prototype);
}
}
class SlaveOne extends Master {
constructor(options) {
super(options);
}
methodOne() {}
methodTwo() {}
}
class SlaveTwo extends Master {
constructor(options) {
super(options);
}
methodThree() {}
methodFour() {}
}
所以,我要的是有兩種方法,或在大師班this.methods
分配,這將:
- 回報
['constructor', 'methodOne', 'methodTwo']
叫上SlaveOne
實例時; - 返回
['constructor', 'methodThree', 'methodFour']
當在SlaveTwo
的實例上調用時;或者叫做對SlaveOne
,SlaveTwo
或Master
實例時
我當前的代碼將返回相同['constructor', 'getMethods']
。有任何想法嗎?
剛剛獲得this'對象的'所有方法,它繼承的原型。 – Bergi