我有一个继承自另一个类的类。在基类中,我想知道是否可以创建并返回调用父类的新实例。
以下是一个示例:
Base:
"父母:"
我不想只是从someMethod创建一个新实例的原因是,我希望mapper在返回实例之前对数据进行一些操作。它需要执行的操作对于所有继承自Base的类都相同。我不想用样板代码来创建自身的新实例,以免使我的类变得杂乱无章。
这种情况可能吗?我该如何实现这样的功能?
以下是一个示例:
Base:
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创建一个新实例的原因是,我希望mapper在返回实例之前对数据进行一些操作。它需要执行的操作对于所有继承自Base的类都相同。我不想用样板代码来创建自身的新实例,以免使我的类变得杂乱无章。
这种情况可能吗?我该如何实现这样的功能?
util.inherits
是什么样子的?如果需要,您可以在那里保存对父构造函数的引用。 - elclanrsutil.inherits
来自Node.js。 - Whymarrh