如何让多个对象在javascript中扩展1个对象?

时间:2015-06-16 18:55:52

标签: javascript class oop inheritance multiple-inheritance

在javascript中,我有一个定义为

的对象(如抽象类)
var abstractclass = function() {

};

现在我想要一些其他类扩展abstractclass。我就是这样做的,但我认为这不是最好的方法。我只是在类中创建父实例,然后我只使用父实例。

var abstractclassA = function() {
    var parent = new abstractclass();
};

var abstractclassB = function() {
    var parent = new abstractclass();
};

var abstractclassC = function() {
    var parent = new abstractclass();
};

var instance1 = new abstractclassA();
var instance2 = new abstractclassB();
var instance3 = new abstractclassC();

有更好的方法吗?

由于

2 个答案:

答案 0 :(得分:0)

如果您可以使用像underscorejs这样的库,他们有扩展功能,我认为它会做你想要的。 如果没有,那么您可以查看它Annotated Source并了解它们是如何实现的。 最后,backbone's objects做了与你所寻求的非常相似的事情。所以你也可以看看他们的Annotated Source

答案 1 :(得分:-1)

通常我会这样做:

var abstractClass = function(){

};

var classB = function(){

};

classB.prototype = new abstractClass();

这样,classB的实例也将作为abstractClass的实例生成