我有一個從另一個繼承的類。在基類中,我想知道是否可以創建並返回調用父類的新實例。如何在javascript中創建父類的新實例
下面是一個例子:
基地:
var util = require('util');
var ThingBase = function(options) {
}
ThingBase.prototype.mapper = function(data) {
// do a bunch of stuff with data and then
// return new instance of parent class
};
家長:
var FooThing = function(options) {
ThingBase.call(this, options);
};
util.inherits(FooThing, ThingBase);
FooThing.someMethod = function() {
var data = 'some data';
var newFooThing = this.mapper(data); // should return new FooThing instance
};
爲什麼我會不只是從的someMethod創建新實例的原因是,我希望映射器在返回實例之前對數據做一堆東西。它需要做的事情對於從Base繼承的所有類都是一樣的。我不想用模板混亂我的課程來創建自己的新實例。
這可能嗎?我該如何去實現這樣的事情?
'util.inherits'如何看起來像?如果你需要的話,你可以在那裏保存對父構造函數的引用。 – elclanrs
我認爲'util.inherits'來自Node.js. – Whymarrh
我擔心你會混淆術語?通常一個'Child'類繼承自'Parent'類,或'Specific'類繼承自'Base'類。我從來沒有聽說過從任何東西繼承的Parent,(除非在討論的層次結構中有3個類,那麼可能有一個'GrandParent')。 – Bergi